Как использовать несколько переменных для формулы ячейки в VBA - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь использовать несколько переменных для управления формулой, которую я хочу ввести в определенную ячейку. Мой код:

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 Ответ

2 голосов
/ 25 апреля 2019

Вам нужно пробел между c и следующим & в этой строке:

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

Когда вы пропускаете пробел, как в c&, компилятор неправильно интерпретирует & как символ типа идентификатора вместо оператора конкатенации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...