我正在尝试使用多个变量来控制要输入到某个单元格的公式。我的代码是:
Sub test()
Dim a As String, b As String, c As String
With ThisWorkbook
a = .Sheets("Share").Cells(2, 21).Address()
b = .Sheets("Share").Cells(8, 21).Address(RowAbsolute:=False)
c = .Sheets("Share").Cells(8, 23).Address(ColumnAbsolute:=False)
MsgBox a '$U$2
MsgBox b '$U8
MsgBox c 'W$8
.Sheets("Share").Cells(8, 23).Formula = "=SUMIFS($E8:" & b & ",$E$2:" & a & "," & c& ")"
'=SUMIFS($E8:$U8,$E$2:$U$2,W$4)
End With
End Sub
但是它一直给我这个错误:
编译错误:语法错误。
有人知道为什么吗?我在网上搜索了一些主题,但没有找到明确的解决方案。
答案 0 :(得分:2)
此行中的c
和后面的&
之间需要有一个空格:
.Sheets("Share").Cells(8, 23).Formula = "=SUMIFS($E8:" & b & ",$E$2:" & a & "," & c & ")"
在c&
中留出空格时,编译器会将&
误解为identifier type character而不是级联运算符。