我确实在WORD中定义了一个表格,我需要在表格的一个单元格中定义公式。
我设置了如下公式:
Selection.InsertFormula Formula:="=MAX(A1:B1)", NumberFormat:=""
但是当我想从表格中获得公式时,它会抛出我"Expected Function or Variable"
这就是我想从Word的表格单元格中获取公式的方法:
Dim formula As Variant
formula = Selection.Cells("A1:C2").Formula
但是......用这个我无法获得所需的公式。
这是我的完整代码:
ActiveDocument.tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
Selection.TypeText Text:="12"
Selection.InsertFormula Formula:="=MAX(A1:B1)", NumberFormat:=""
MsgBox Selection.Cells("C1").Formula, vbOKOnly
我在第一列创建了一个2x3表,第二列我插入了2个数字(“A1”= 1,“B1”= 2),在第三列(C1)中插入了相应的公式。< / p>
当我尝试从现有表中打印公式时,它会给我"Expected Function or Variable"
错误。
答案 0 :(得分:2)
Formula
可能是只写的。虽然文档确实说Formula
创建了Field
,但我在文档中找不到明确的结论。
也许这会实现您的目标:
Sub test()
Dim t As Word.Table
Set t = ThisDocument.Tables.Add(Range:=Selection.Range, NumRows:=2, NumColumns:= _
3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed)
t.Cell(1, 1).Range.Text = "15"
t.Cell(1, 2).Range.Text = "20"
t.Cell(1, 3).Formula Formula:="=MAX(A1:B1)", NumFormat:=""
MsgBox t.Cell(1, 3).Range.Fields(1), vbOKOnly
Set t = Nothing
End Sub
注意:上面检索公式。如果要检索公式的结果,请使用Cell(1,3).Range.Text
。
希望有所帮助。