Ожидаемый VBA: конец заявления - PullRequest
1 голос
/ 11 марта 2020

Я пытаюсь использовать приведенную ниже формулу и продолжаю получать ожидаемое окончание ошибки оператора

 Worksheets("Report").Cells(8,3).Value="='DATA'!B"&lRow-2&"*'DATA'!D"&lRow-2

Ошибка возникает на "*'DATA'!D"

Ожидается: конец заявления

Ответы [ 2 ]

3 голосов
/ 11 марта 2020

При наборе этой строки…

Worksheets("Report").Cells(8,3).Value="='DATA'!B"&lRow-2&"*'DATA'!D"&lRow-2

… в редакторе убедитесь, что у вас есть пробелы в правильных местах:

Worksheets("Report").Cells(8, 3).Value = "='DATA'!B" & lRow - 2 & "*'DATA'!D" & lRow - 2

Интервал необходим, потому что & имеет 3 различные значения:

  1. Без пробела: объявить число типа Long:
    2& означает, что 2 имеет тип Long.
    (также см. Объявление переменных ).

  2. С пробелами: конкатенация двух строк:
    & с пробелами означает конкатенацию строк, например. TotalString = String1 & String2
    (также см. & - Оператор )

  3. &H с указанием шестнадцатеричного числа: Пример &HF означает шестнадцатеричное F и Debug.Print &HF выведет 15, которое является шестнадцатеричным F, преобразованным в десятичное число.

0 голосов
/ 11 марта 2020

Worksheets("Report").Cells(8, 3).Value = "='DATA'!B" & lRow - 2 & "*'DATA'!D" & lRow - 2

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