【问题标题】:VBA CSV file has missing data from excel formulaVBA CSV 文件缺少 excel 公式中的数据
【发布时间】:2014-11-27 22:03:09
【问题描述】:

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

我有一个更新数据的宏,然后运行求解器以获得解决方案,我想将结果集存储为 CSV 文件以供进一步处理。除了某些数字数据未粘贴到 CSV 之外,这一切都有效。丢失的数据是通过公式计算的,我已经使用手动输入的数据进行了测试,这很有效。我曾尝试使用 pastespecial xlPasteValues,但出现错误

运行时错误“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

提前致谢

罗伯

【问题讨论】:

    标签: excel vba csv


    【解决方案1】:

    你不使用

     ActiveSheet.PasteSpecial xlPasteValues
    

    但使用范围,例如:

    .Sheets(1).Range("A1:Z1000").PasteSpecial Paste:=xlPasteValues
    

    【讨论】:

      【解决方案2】:

      只需使用:

      ActiveSheet.Copy
      ActiveWorkbook.SaveAs "C:\Users\rtovey1\Documents\1401 - Photo Optimiser\RunPlan\" & sFileName, xlCSV
      ActiveWorkbook.Close False
      

      这会将活动表的副本另存为 csv。无需复制/粘贴/打开新工作簿。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-27
        • 2014-08-27
        • 2012-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多