For t = 1 To 4
For i = 1 To 103
If Rang(i, 1) = agency(t, 1) Then
Paym = Paym + (Rang(i, 14) + Rang(i, 15))
'VAR = VAR + (Rang(i, 9) + Rang(i, 14))
Select Case Rang(i, 9)
Case 0
Rang(i, 9) = Rang(i, 8 ) '------------------------> на эту строчку просьба обратить внимание
End Select
VAR = VAR + (Rang(i, 9) + Rang(i, 14))
End If
Next i
Меняю условия и расчет не верный :
Код
2)For t = 1 To 4
For i = 1 To 103
If Rang(i, 1) = agency(t, 1) Then
Paym = Paym + (Rang(i, 14) + Rang(i, 15))
'VAR = VAR + (Rang(i, 9) + Rang(i, 14))
Select Case Rang(i, 9)
Case 0
VAR = VAR + Rang(i, 8 )
Case Else
VAR = VAR + (Rang(i, 9) + Rang(i, 14))
End Select
End If
Next i
Делаю макрос который по строкам считает сумму двух показателей VAR и Paym. Проблемы возникают только с VAR. Первый вариант макроса плох тем что вносит изменения в таблицу, из-за того что переменная Rang - это диапазон ячеек. Второй не вносит изменений но считает не правильно вопрос почему так? Должно быть так: Если Rang(i,9)=0 то VAR=VAR+ Rang(i,8 ) Если Rang(i,9)<>0 то VAR = VAR + (Rang(i, 9) + Rang(i, 14)). Спасибо всем!
vikttur написал: Ошибка в первом варианте. Сначала Код ? 1Rang(i, 9) = Rang(i, 8 ) Потом выходим из Select и добавляем Код ? 1VAR = VAR + (Rang(i, 9) + Rang(i, 14))
Чего-то я недопонимаю. Первый вариант считает правильно, это точно. в нем ошибки нет. Но он вносит изменения в ячейки, этой строкой кода:
Код
Rang(i, 9) = Rang(i, 8 )
Когда я пытаюсь заменить эту строку, например этой формулой: