如何在VBA中为单元格公式使用多个变量

时间:2019-04-25 05:58:27

标签: excel vba

我正在尝试使用多个变量来控制要输入到某个单元格的公式。我的代码是:

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

但是它一直给我这个错误:

  

编译错误:语法错误。

有人知道为什么吗?我在网上搜索了一些主题,但没有找到明确的解决方案。

1 个答案:

答案 0 :(得分:2)

此行中的c和后面的&之间需要有一个空格:

.Sheets("Share").Cells(8, 23).Formula = "=SUMIFS($E8:" & b & ",$E$2:" & a & "," & c & ")"

c&中留出空格时,编译器会将&误解为identifier type character而不是级联运算符。