VBA CSV文件缺少excel公式中的数据

VBA CSV文件缺少excel公式中的数据,excel,vba,csv,Excel,Vba,Csv,我正在学习VBA,遇到了一个问题,即公式中的数据在创建的CSV文件中为空 我有一个宏更新数据,然后运行解算器以获得解决方案,我想将结果集存储为CSV文件以供进一步处理。除了一些数字数据没有粘贴到CSV中之外,所有这些都可以正常工作。缺少的数据是通过公式计算出来的,我已经用手动输入的数据进行了测试,这是有效的。我尝试过使用PasteValues,但出现了一个错误 运行时错误“1004”:应用程序定义的错误或对象定义的错误 Private Sub cmdSave() Dim sFileNam

我正在学习VBA,遇到了一个问题,即公式中的数据在创建的CSV文件中为空

我有一个宏更新数据,然后运行解算器以获得解决方案,我想将结果集存储为CSV文件以供进一步处理。除了一些数字数据没有粘贴到CSV中之外,所有这些都可以正常工作。缺少的数据是通过公式计算出来的,我已经用手动输入的数据进行了测试,这是有效的。我尝试过使用PasteValues,但出现了一个错误

运行时错误“1004”:应用程序定义的错误或对象定义的错误

Private Sub cmdSave()
    Dim sFileName As String
    Dim WB As Workbook

    Application.DisplayAlerts = False

    sFileName = "PhotoRunPlan.csv"
    'Copy the contents of required sheet ready to paste into the new CSV
    Sheets(1).Range("Runplan").Copy 'Define your own range

    'Open a new XLS workbook, save it as the file name
    Set WB = Workbooks.Add
    With WB
        .Title = "MyTitle"
        .Subject = "MySubject"
        .Sheets(1).Select
        ActiveSheet.PasteSpecial xlPasteValues
        .SaveAs "C:\Users\rtovey1\Documents\1401 - Photo Optimiser\RunPlan\" & sFileName, xlCSV
        .Close
    End With

    Application.DisplayAlerts = True
End Sub
提前谢谢

Rob

你不用

 ActiveSheet.PasteSpecial xlPasteValues
但请使用范围,例如:

.Sheets(1).Range("A1:Z1000").PasteSpecial Paste:=xlPasteValues
只需使用:

ActiveSheet.Copy
ActiveWorkbook.SaveAs "C:\Users\rtovey1\Documents\1401 - Photo Optimiser\RunPlan\" & sFileName, xlCSV
ActiveWorkbook.Close False
这将把activesheet的副本保存为csv。无需复制/粘贴/打开新工作簿