我想执行标题的任务,并从extendoffice.com修改以下代码(谢谢)。
Sub export_data_to_CSV()
Dim Rng As Range
Dim WorkRng As Range
Dim xFile As Variant
Dim xFileString As String
Dim LR As Long
LR = Application.WorksheetFunction.CountA(Worksheets("MAIN").Range("A1:A50001"))
Set WorkRng = Application.Selection
Set WorkRng = Worksheets("MAIN").Range("A2:J" & LR)
Application.ActiveSheet.Copy
Application.ActiveSheet.Cells.Clear
WorkRng.Copy Application.ActiveSheet.Range("A1")
Set xFile = CreateObject("Scripting.FileSystemObject")
xFileString = Application.GetSaveAsFilename("", filefilter:="Comma Separated Text (*.CSV), *.CSV")
Application.ActiveWorkbook.SaveAs Filename:=xFileString, FileFormat:=xlCSV, CreateBackup:=False
End Sub
代码工作正常,但是,它将所有公式甚至我的按钮保存到目标文件。如果我只想将值保存到目标CSV文件中,该怎么办?
答案 0 :(得分:0)
CSV文件在定义上不能包含公式或按钮。我认为您只是在当前打开的Excel实例中看到它们,但是如果要打开新保存的CSV文件,它们将不会显示。
要解决您的后续问题:
如果我想使用代码立即关闭目标文件,应该添加哪些行?
ActiveWorkbook.Close SaveChanges:=False
答案 1 :(得分:0)
这是一些演示代码。它:
Sub KopyKat()
'
Sheets("Sheet1").Select 'move to sheet
Sheets("Sheet1").Copy 'copy sheet to new workbook
ActiveSheet.Cells.SpecialCells(-4123).Clear 'get rid of formulas
'then save as .csv
ActiveWorkbook.SaveAs Filename:="C:\Users\garys\Desktop\bk.csv", FileFormat _
:=xlCSVUTF8, CreateBackup:=False
ActiveWorkbook.Close 'close the new workbook
' the original workbook is now active again
End Sub