Как перебрать столбец, умножив каждое значение на значение в двух других фиксированных ячейках? - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь умножить столбец на 2 фиксированные ячейки, используя VBA, но он возвращает мне тот же результат, 2800, для всего диапазона:

For q = 4 To 9

  For w = 3 To 8

    Cells(q, 3).Value = Cells(12, 2) * Cells(13, 2) * Cells(w, 2).Value

  Next w

Next q

enter image description here

1 Ответ

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

Это неудивительно.

У вас есть внешний l oop q и внутренний l oop w. Для всех q вычисление выполняется в конце с w = 8.

Поэтому вы записываете во все ячейки Ячейки (q, 3) самый последний результат для w = 8, и поэтому все результаты одинаковы.

последовательность выполнения в вашем коде:

q = 4, w = 3
q = 4, w = 4
q = 4, w = 5
...
q = 4, w = 8   > this is the shown result for in Cells(4,3)
q = 5, w = 3
...
q = 5, w = 8   > this is the shown result for in Cells(5,3)
...
q = 9, w = 3
...
q = 9, w = 8   > this is the shown result for in Cells(9,3)

Что вам нужно:

For w = 3 To 5
    Cells(w+1, 3).Value = Cells(12, 2) * Cells(13, 2) * Cells(w, 2).Value
Next w
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...