Вычитание VBA для нескольких значений таблицы

#excel #vba

#excel #vba

Вопрос:

Привет, я пишу код Excel VBA. Я просто хотел сделать вычитание для такого типа таблицы

денежные средства - расходы по всем элементам

Но я не могу понять, как это сделать с помощью VBA. Правильный ли приведенный ниже код?

 Sub OperationO()

    Dim OE As Integer
    Dim i As Integer

    For i = 3 To Range("F6")
        Cells(6, i).Value = Cells(2, i).Value - Cells(4, i)
    Next i

End Sub
  

Ответ №1:

Вам действительно следует использовать формулы для чего-то подобного, но если вы настаиваете на VBA, то вот оно.

Всякий раз, когда вы пишете код для VBA или любых похожих языков, прочитайте, что вы пишете, что он должен / needs делать, поскольку при многократном чтении вслух всплывают ошибки. Думайте о комментариях ниже как «я читаю, когда пишу».

 Sub OperationO()
    'Initiate a Variable type Integer for number storage
    Dim OE as Integer
    'Initiate another variable same type to use in the loop
    Dim i as Integer
    'Start a loop from 3 to 6 (because these are the columns you are working with)
    For i = 3 to 6
        'Set the value in Column "i" on Row 6 to the value in Row 2 minus Row 4 in the same column
        'Now here is the thing, when you subtract a negative number, you are adding it, crazy math rules i know, so if the number is negative, you need to Add instead.
        Cells(6, i).Value = (Cells(2, i).Value   Cells(4, i).Value)
        'If both cells don't contain a number, this will fail, additional checks may help, like IsNumber
    Next i
'Its the end of the Sub and you never used the Variable OE, it was declared for nothing.
End Sub
  

Комментарии:

1. Большое спасибо за ваш добрый совет и решение!