![]() |
Помогите разобраться с макросом в Excel
Есть очень простой макрос часть которого приведена ниже:
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 06.06.2011 (User) ' ' Range("A2") = Range("A2") * Range("A1") / 10 Range("A3") = Range("A3") * Range("A1") / 10 Range("A4") = Range("A4") * Range("A1") / 10 Range("A5") = Range("A5") * Range("A1") / 10 Range("A6") = Range("A6") * Range("A1") / 10 Range("A7") = Range("A7") * Range("A1") / 10 Range("A8") = Range("A8") * Range("A1") / 10 End Sub Вносятся данные в ячейки A1, A2, A3 ... После отработки макроса данные ячеек перезаписываются. Как видно все расчеты ссылаются на ячейку A1. Так вот вопрос: Можно ли, если можно, то как, сделать так что бы при условии что ячейка A1 не заполнена макрос не выполнял свою работу, ( шел переход на End Sub) а пользователю высвечивалось окошко предупреждения о не заполненной ячейки? И вопрос второй: Если к примеру ячейка A3 пустая то можно ли сделать так, что бы не выполнялось действие над этой ячейкой (ячейка оставалась пустая, расчет НЕ выполнялся), а шел переход на обработку следующей строчки? Заранее благодарен. |
Цитата:
Код:
If Not IsEmpty(Workbooks.Item(…).Worksheets.Item(…).Cells.Item(1, 1).Value) Then Цитата:
|
Iska, Спасибо за совет! С пустыми ячейками разобрался, с всплывающим окошком тоже вот загвоздка з условием если ячейка A1 пустая завершение работы макроса.
If Not IsEmpty(Workbooks.Item(…).Worksheets.Item(…).Cells.Item(1, 1).Value) Then Else MsgBox "A1 is empty!" End Sub End If Выкидывает ошибку компиляции, поправте пожалуйста. |
Справка по тегам форума
Цитата:
Я предполагал, что Вы немного знакомы с объектной моделью Microsoft Excel. Вместо: Код:
Workbooks.Item(…).Worksheets.Item(…) |
С этим у меня проблем нету книгу и лист я указал естественно (не хотел замусоривать форум своими названиями), а ошибка: Block If без End If что как бы логично, только как это обойти? Повторюсь что все работает кроме этой зацепки.
|
Проблема решена:
Код:
Sub User() |
Время: 09:59. |
Время: 09:59.
© OSzone.net 2001-