VB kullanarak excel çalışma sayfasını dosya adı + çalışma sayfası adı ile CSV dosyalarına kaydetme
VB kodlamada çok yeniyim, birden fazla excel dosyası çalışma sayfasını csv'ye kaydetmeye çalışıyorum, bunu birden fazla sayfa için yapmayı bilmiyorum, ancak tek bir dosya için yapmanın bir yolunu buldum. Bu sitede yapmaya çalıştığım şey için çok yararlı olan kodlar buldum, tek sorun dosyaların çalışma sayfası adıyla kaydedilmesi, ancak ben bunları orijinal dosya ve çalışma sayfası adıyla kaydetmeye çalışıyorum, örneğin dosya adı_çalışma sayfası adı
, bunu kendim yapmaya çalıştım ama hata almaya devam ediyorum, lütfen neyi yanlış yaptığımı söyleyebilir misiniz?
Kullandığım kod aşağıdaki gibidir:
Public Sub SaveWorksheetsAsCsv()
Dim WS As Excel.Worksheet
Dim SaveToDirectory As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
' Store current details for the workbook
SaveToDirectory = "H:\test\"
For Each WS In ThisWorkbook.Worksheets
WS.SaveAs SaveToDirectory & WS.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
' Temporarily turn alerts off to prevent the user being prompted
' about overwriting the original file.
End Sub
25
3
Sanırım istediğin şey bu.
Denediğin şey bu mu?
Bunu öğrenmenin en iyi yolu makroyu kaydetmek ve tam adımları uygulamak ve hangi VBA kodunu ürettiğini görmektir. daha sonra gidip genel hale getirmek istediğiniz parçaları değiştirebilirsiniz (yani dosya adları ve diğer şeyler)