Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Web-программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 06.06.2011, 21:27   [включить плавающее окно]   #1
camope3
Мужской Начинающий
Автор темы
 
Регистрация: 23.01.2009
Есть очень простой макрос часть которого приведена ниже:
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 пустая то можно ли сделать так, что бы не выполнялось действие над этой ячейкой (ячейка оставалась пустая, расчет НЕ выполнялся), а шел переход на обработку следующей строчки?
Заранее благодарен.

Добавлено через 30 минут

К сожалению тема была случайно создана не в том топике, просьба модераторов перенести.

Последний раз редактировалось camope3; 06.06.2011 в 21:48.
camope3 вне форума  
Ответить с цитированием
Непрочитано 07.06.2011, 14:30   [включить плавающее окно]   #2
Freeuse
Мужской Заслуженный
 
Аватар для Freeuse
 
Регистрация: 08.02.2010
Адрес: Ростов-на-Дону
camope3
Самый простой пример через If->then
Цитата
Sub User()
If Range("A1") = "" Then
Soobshenie.Show
End If
If Range("A1") <> "" Then
Range("A2") = Range("A2") * Range("A1") / 10
If Range("A3") <> "" Then
Range("A3") = Range("A3") * Range("A1") / 10
End If
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 If
End Sub
Soobshenie.Show - создаете форму с нужным сообщением...
Или вместо сообщения прямо в ячейку А1 записываете ваш текст.
Freeuse вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 07.06.2011, 23:45   [включить плавающее окно]   #3
camope3
Мужской Начинающий
Автор темы
 
Регистрация: 23.01.2009
Freeuse Спасибо за ответ, частично уже пришлось разбираться самому но была загвоздка, по Вашему методу все пошло как по маслу. В итоге получился такой вот код:
Код:
Sub User()
If Range("A1") = "" Then
MsgBox "Не заполнены ключевые данные!!!"
End If
If Range("A1") <> "" Then
If Range("A2") <> "" Then
Range("A2") = Range("A2") * Range("A1") / 10
End If
If Range("A3") <> "" Then
Range("A3") = Range("A3") * Range("A1") / 10
End If
If Range("A4") <> "" Then
Range("A4") = Range("A4") * Range("A1") / 10
End If
If Range("A5") <> "" Then
Range("A5") = Range("A5") * Range("A1") / 10
End If
If Range("A6") <> "" Then
Range("A6") = Range("A6") * Range("A1") / 10
End If
If Range("A7") <> "" Then
Range("A7") = Range("A7") * Range("A1") / 10
End If
If Range("A8") <> "" Then
Range("A8") = Range("A8") * Range("A1") / 10
End If
End If
End Sub
Никак не мог догадаться как сделать так, что бы не выполнялась процедура расчета при пустой ячейке А1. Оказалось что нужно было заключить в условие всю процедуру.

Последний раз редактировалось camope3; 08.06.2011 в 00:23.
camope3 вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 18:04. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey