Счетчик логики VBA позади - PullRequest
       11

Счетчик логики VBA позади

0 голосов
/ 16 ноября 2018

Интересно, какова логика счетчика в VBA.

Допустим, внутри цикла мы имеем:

For x = 2 To lr
    If dbsheet.Cells(x, 4) = cat And dbsheet.Cells(x, 5) = lname Then
        counter = counter + dbsheet.Cells(x, 3)
    End If

counter = counter + dbsheet.Cells (x, 3)выглядит как 3 = 3 + 2 для меня.Я знаю, что он делает (в моем случае суммирует числа, которые соответствуют определенным критериям), но я не понимаю логику, стоящую за этим.

Может кто-нибудь объяснить это или хотя бы предоставить мне несколько веб-ссылок?

Спасибо, Миха

1 Ответ

0 голосов
/ 16 ноября 2018

counter является переменной.Переменные - это просто то, что у вас есть, что представляет что-то другое.

Когда вы хотите присвоить переменной значение в VBA, оно всегда следует тому же формату или синтаксису.Переменная, которая будет изменена, будет представлена ​​перед оператором, а информация, которая изменяет переменную, будет после оператора.

При x = 2 изменяемая переменная равна x, оператор = ицелевое значение для переменной 2.Вы также не знаете, что такое x, пока не узнаете, чем оно станет.

Логика применяется, когда вы расширяете его.

counter = counter + dbsheet.Cells(x, 3) ничем не отличается.Здесь у нас есть counter перед оператором =, который изменяется counter + dbsheet.Cells(x, 3).

Итак, вам нужно знать, что такое counter + dbsheet.Cells(x, 3), прежде чем вы сможете оценить результат того, чем в конечном итоге станет counter.

Другой способ написать это, чтобы понять, что происходит, это:

For x = 2 To lr
If dbsheet.Cells(x, 4) = cat And dbsheet.Cells(x, 5) = lname Then
    counter2 = counter
    counter = counter2 + dbsheet.Cells(x, 3)
End If

По сути, это сводится к добавлению номера к себе.

...