Простота: вычитание двух столбцов в Excel VBA и заполнение до конца листа в определенном столбце - PullRequest
0 голосов
/ 08 января 2019

Это довольно просто, я знаю, но что-то идет не так для меня. Я просто хочу вычесть значения в столбце B из значений в столбце C и поместить эти результаты в столбец Q.

Я назначил свой strFormula (1) как вариант, а затем применил уравнение к strFormula (1). Я изменил следующий код из @Manhattan здесь, в переполнении стека:)

Sub FormulasNoLoops()

    Dim strFormulas(1) As Variant

    With ThisWorkbook.Sheets("Sheet1")
        strFormulas(1) = "=(C2-B2)"
        .Range("Q2:Q130").Formula = strFormulas
        .Range("Q2:Q130").FillDown
   End With

End Sub

Нет ошибки при запуске скрипта, но также нет результата в столбце Q. В идеале, я даже не хочу вводить последнюю ячейку столбца, но, возможно, где-нибудь использовать .End(xlUp).

Спасибо всем!

1 Ответ

0 голосов
/ 08 января 2019

первый

Dim strFormulas(1) As Variant

создает массив из двух элементов, 0,1

Для одной формулы я бы полностью исключил переменную.

Но если вы хотите использовать его, просто сделайте его строкой без (1)

Dim strFormulas As String

Затем загрузите его:

strFormulas = "=(C2-B2)"

Также, когда вы применяете формулу ко всему диапазону, нет необходимости заполнять:

Sub FormulasNoLoops()

   With ThisWorkbook.Sheets("Sheet1")
        .Range("Q2:Q130").Formula = "=(C2-B2)"
   End With

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