Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: gleod от 11.02.2010, 12:13

Название: Как поправить макросы, которые очищают (удаляют) цифры на табло калькулятора
Отправлено: gleod от 11.02.2010, 12:13
Доброго вам дня!
Имеетя такой вот код:
Private Sub ButtonC_Click()
HandleBackspace
End Sub

Private Sub HandleBackspace()
If ReadOut.Text = "" Then Exit Sub
If ReadOut.Text = "Деление на нуль запрещено" Then
ReadOut.Text = "0,"
Exit Sub
End If

If ReadOut.Text <> "0," Then
ReadOut.Text = Left$(ReadOut.Text, Len(ReadOut.Text) - 1)
End If
If ReadOut.Text = "" Then ReadOut.Text = "0,"
End Sub

В целом он вроди бы работает. Но с существенными недостатками.
Например, кнопкой С удалить все цифры аж до нуля, то в случае повторного набора нового числа (без нажатия на кнопку СЕ), набор начинается : либо с нуля (перед цифрами), либо просто набирается дробное число. Можете посмотреть это на живом примере!
А хотелось бы, чтобы после всех удалений в табло высвечивался ноль (желательно без запятой). И чтобы при повторном наборе нового числа не было названых выше ошибок. Причем, очень существенно. Без нажатия на кнопку СЕ.
Неплохо было бы переделать макрос на кнопке СЕ. Чтобы после удаления на табло также высвечивался «0» без запятой. И чтобы при попытке деления на ноль, прога в отдельном окне выдавала след. Сообщение : «Делени е на ноль не допустимо».
Сейчас же, в таком случае, Ексель пишет на табло что то мне не понятное.  Которое нельзя удалить без выхода из проги.
Посмотрите пожалуйста! Может придумаете че лучше. У меня не получается.
Помогите, пожалуйста!
С уважением, автор!