Member 12737742 Ответов: 1

Как мне избежать деления на ноль здесь


у меня есть около 500 данных и примерно на 100 данных код останавливается из-за ошибки деления на ноль

Что я уже пробовал:

Приложение.Диапазон ("О7").Активировать
"количество данных хранится в переменной
Приложение.Выбор(Отбор, Селекция.Конец(xlDown)).Выбрать
приложение.Графа (Выбор)
Диапазон ("О7").Активировать
'функция цикла используется до тех пор, пока не будет подсчитано количество данных
Для i = 1 к a
И activecell.Смещение (0, 1). Активация
Б = и activecell.Значение
И activecell.Смещение (0, 1). Активация
С = и activecell.Значение
И activecell.Смещение (0, 1). Активация
e = (c / b) * 100
"значения данных хранятся в переменной, и для расчета соответствия образца используется другая переменная
ActiveCell. Value = e
И activecell.Смещение (1, -3).Активировать
Следующий
Приложение.ScreenUpdating = False
Конец Подводной Лодки

[no name]

Почему вы не можете проверить, больше ли b нуля? Я что-то упустил?

1 Ответов

Рейтинг:
11

OriginalGriff

Просто: не делите на ноль.

Что означает: Проверьте свои входные данные.

b = ActiveCell.Value
ActiveCell.Offset(0, 1).Activate
c = ActiveCell.Value
ActiveCell.Offset(0, 1).Activate
e = -1
If b <> 0 Then
	e = (c / b) * 100
End If