首页 > 解决方案 > 如何在 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

但它一直给我这个错误:

编译错误:语法错误。

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

标签: excelvba

解决方案


您需要在此行中c与以下内容之间有一个空格:&

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

当您留下空格时,如 中c&,编译器将 误解&标识符类型字符,而不是连接运算符。


推荐阅读