1

为什么录制的 VBA 会显示计算值。而我的代码只显示公式(但如果我进入每个单元格并按 f2,然后返回,它会显示计算值)。我在 Excel 2010 中使用表格。似乎本质上是一样的:

记录代码

Columns("D:D").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.NumberFormat = "General"
Range("D8").Select
ActiveCell.FormulaR1C1 = "IF(ISNUMBER(FIND(""Value1"",[@[Program]])),""yes"",""no"")"

我的代码

Sub Formula_Insert
Dim MyTbl As listObject
Set MyTbl = ActiveSheet.ListObjects("NameofTableonSheet")
With MyTbl
   .ListColumns.Add 4
   .HeaderRowRange(4) = "Column D Header"
   With .ListColumns("Column D Header")
     .Range.NumberFormat = "General"
     .DataBodyRange.formula = "IF(ISNUMBER(FIND(""Value1"",[@[Program]])),""yes"",""no"")"
   End With
End With

显然,插入公式的原因是用户可以看到公式而不是结果。我认为公式选项中的设置都是正确的,并且由于记录的代码显示了计算值,所以它必须是VBA的问题,不是吗?

4

1 回答 1

0

如果您在 excel 中并且没有得到结果,并且公式被读取为文本,请清除单元格中的格式。然后重做公式

于 2014-01-09T02:12:16.097 回答