Excel VBA代码仅在我的新工作簿中保存了2张工作表中的1张
我从多张表格中提取数据,对其进行按摩,以便将数据加载到我们的网站。数据放在两张纸上。我的VBA代码只保存了新创建工作簿中两张工作表中的一张。不知道为什么 我所知道的保存新创建的电子表格的唯一代码是我唯一尝试过的 '创建输出文件Excel VBA代码仅在我的新工作簿中保存了2张工作表中的1张,excel,vba,Excel,Vba,我从多张表格中提取数据,对其进行按摩,以便将数据加载到我们的网站。数据放在两张纸上。我的VBA代码只保存了新创建工作簿中两张工作表中的一张。不知道为什么 我所知道的保存新创建的电子表格的唯一代码是我唯一尝试过的 '创建输出文件 Dim newWB As Workbook, currentWB As Workbook Dim newA As Worksheet, newP As Worksheet, currentS As Worksheet Dim strFullname As String
Dim newWB As Workbook, currentWB As Workbook
Dim newA As Worksheet, newP As Worksheet, currentS As Worksheet
Dim strFullname As String
strFullname = "G:\CMG\DCM\Operations\Fusion (Website)\" & Format(Range("CurrentDate"), "yyyy") & "\" & " MonthlyImport" & " " & Format(Range("CurrentDate"), "mmddyy") & ".csv"
Set currentWB = ThisWorkbook
Set currentS = ShOutput '(this is the name of my worksheet)
ShOutput.Range("A:F").Select
Selection.Copy
Set newWB = Workbooks.Add
With newWB
Set newA = newWB.Sheets("Sheet1")
newA.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ShOutput.Activate
ShOutput.Range("H:L").Select
Selection.Copy
newWB.Worksheets.Add
Set newP = newWB.Sheets("Sheet2")
newP.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'Save in CSV
Application.DisplayAlerts = False
newWB.SaveAs Filename:=strFullname, FileFormat:=xlCSV
newWB.Close
Application.DisplayAlerts = True
End With
我希望有一个包含两张数据的工作簿,正如BigBen评论的那样,以
xlCSV
格式保存只会保存活动的工作表
如果要同时保存所有工作表,则需要通过省略FileFormat(将以使用的Excel版本的格式保存)或指定其中一种工作簿格式将其另存为工作簿
或者,如果要将两张工作表保存为单独的CSV,则必须循环浏览每张工作表,使其处于活动状态,然后可以将工作簿保存为xlCSV
格式,每次为其指定不同的名称
参见前面的回答,例如代码您不能用两张图纸保存CSV。CSV文件没有图纸,因此您不能将多张图纸保存到.CSV文件中。如果需要保存多个文件,则需要保存到多个.csv文件(每个工作表一个)或将所有数据合并到一个工作表中以保存到一个.csv文件