将Excel跨表公式的值保存为csv

x33g5p2x  于 2023-01-03  发布在  其他
关注(0)|答案(1)|浏览(211)

使用其他线程,我提取了一个VBA脚本,将Excel工作簿中的每个工作表保存到单独的CSV文件中。我的一个工作表包含覆盖另一个工作表中数据的公式。包含这些公式的单元格保存为REF!,我还不知道如何使用.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
7lrncoxx

7lrncoxx1#

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

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

最后,您可以关闭源工作簿而不保存。

相关问题