VBA:将Excel交叉表公式的值保存到csv

时间:2014-02-08 12:53:29

标签: excel vba excel-vba csv formulas

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

这是我脚本的核心(我省略了一些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 

1 个答案:

答案 0 :(得分:1)

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

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

然后,您可以在不保存的情况下关闭源工作簿。