写程序读取 Excel 中的数据时,如果 Excel 中单元格的数据是通过公式计算所得,在读取时有可能会只能读到这个公式,而无法得到具体的值。这时候,最好先把 Excel 中的公式去掉,并保留下单元格的公式计算所得的值。
以下 VBA 代码的作用即是去掉当前目录下所有 Excel 文件中的公式并保留值。使用方法为:在当前目录下新建一个 Excel,然后打开,右键点击 Excel 中任意的一个 Sheet 名字,选择查看代码,将下面代码拷入,F5 运行即可。
Sub 去掉目录下的公式()
Dim ph$, fn$, sh As Worksheet
ph = ThisWorkbook.Path & "\"
fn = Dir(ph & "*.xls")
Do While fn <> ""
If fn <> ThisWorkbook.Name Then
With Workbooks.Open(ph & fn)
For Each sh In .Sheets
sh.UsedRange = sh.UsedRange.Value
Next
.Close True
End With
End If
fn = Dir
Loop
End Sub