我正在尝试找出如何将工作表的部分导出到CSV文件,而不必循环遍历每一行或单元格并逐个打印到文件中。我需要保留本地格式作为一个要求。
我曾尝试使用另一个建议:
Sheets("PI_OUTPUT").Copy
这将复制整个工作表。我在1到20000行和A到X列中有公式,但在数据处理后可能会有不同数量的空行。如果我使用复制方法,我会复制所有的空白行,这会输出为逗号等格式。
我尝试使用activesheet.deleterows来删除复制后的输出文件中的空行,但是这会导致错误。
我已经尝试过:
Worksheets("PI_OUTPUT").Activate
Sheets("PI_OUTPUT").Range("A2:X5000").Copy
我曾尝试使用另一个建议:
specialcells(xlCellTypeVisible)
,但似乎无法使其正常工作:Set rng = Sheets("PI_OUTPUT").SpecialCells(xlCellTypeVisible)
Set Workbook = Workbooks.Add
With Workbook
Call rng.Copy
.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
.SaveAs filename:=MyPath & MyFileName, FileFormat:=xlCSV
.Close
End With
更糟糕的是,我需要在多个工作表之间进行操作,每个工作表的列数和行数都不同,并且保存为单独的文件。因此,我正在寻找一种可以重复多次的方法。我已经设置了弹出文件夹路径选择窗口,并动态构建了文件名,但复制/粘贴却无法正常运行。
With wsh.Range("A1:X20000") .AutoFilter 1, "<>" '筛选以获取非空单元格 wsh.Range(wsh.Cells(1, 1), wsh.Cells(1, 24).End(xlDown)).Copy
我省略了第二个自动筛选并调整了单元格引用。 感谢您的帮助! - Itsallgonepearshaped