【发布时间】:2017-11-07 20:09:14
【问题描述】:
我正在尝试弄清楚如何仅将工作表的一部分导出到 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
更糟糕的是,我必须在多张工作表上执行此操作,所有工作表的列和行数都可变,全部保存到单独的文件中。所以我正在寻找可以重复多次的东西。我有一个弹出的文件夹路径来选择位置,并且有一个动态构建的文件名,但是复制/粘贴会避开我的文件。
【问题讨论】: