【问题标题】:VBA: saving values of Excel cross-sheet formulas to csvVBA:将 Excel 跨表公式的值保存到 csv
【发布时间】:2014-02-08 12:53:29
【问题描述】:

使用其他线程,我提炼了一个 VBA 脚本,将 Excel 工作簿中的每张工作表保存到单独的 CSV 文件中。我的一张表包含另一张表上数据的公式。具有这些公式的单元格保存为REF!s,我无法弄清楚如何使用.Value 来解决问题(我只想将值导出为 CSV)。

这是我脚本的核心(我省略了一些 vars defns 和其他设置/清理代码)

Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(strApp+sFullPath)
oBook.Application.DisplayAlerts = FALSE
For Each objws In oBook.Sheets  
  objws.Copy  
  With objws.UsedRange
    .Value = .Value
  End With
  sheetName = Replace(objws.Name, " ", "")
  toName = strApp & sFilename & "-" & sheetName & ".csv"
  objws.SaveAs toName, 6
  oExcel.ActiveWorkbook.Close False  
Next 

【问题讨论】:

    标签: vba excel csv formulas


    【解决方案1】:

    你需要在复制之前将其更改为值

    With objws.UsedRange
       .Value = .Value
    End With
    objws.Copy
    

    您最终可以在不保存的情况下关闭源工作簿。

    【讨论】:

      猜你喜欢
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多