![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.03.2008
Сообщений: 15
|
![]()
И снова здраствуйте (:
Есть вообщем понятный вопрос как заставить работать макрос при условии данных в одной из ячеек ... имею макрос создания листа ... как привязать его выполнение к ячейке ? Конкретика в файле ... задействованные колонки A "Номер накладной" I "Итого недостача количество" J "Итого забракованно количество" H "Итого недостача мест" Макрос по созданию листа... Действие: Если в ячейке из столбца I или J(не важно) не ноль а в столбце H=0 то срабатывает макрос создания листа но имя листа подтягивается из столбца A характерной по уровню ячейки ... (пример в файле) при чём созданный лист уже имеет определенную шапку ... и данные некоторые (которые подтягиваются из ОСНОВНОГО листа) |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
По Вашим условиям запустить макрос можно, прописав в модуле нужного листа строку с кодом:
Код:
Цитата:
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 06.03.2008
Сообщений: 15
|
![]() Цитата:
а подтягиваться должна в созданный лист дата поступления контейнер номер накладной Это не обязательно но если таки будет то будет класс!!! |
|
![]() |
![]() |
#4 |
Пользователь
Регистрация: 06.03.2008
Сообщений: 15
|
![]()
Ну вот подсобрал куски кода и макрос
вроде вся последовательность есть но почемуто не работает ... ![]() гляньте где ошибка ... плиз ... и так и не понятно как поменять имя листа согласно ячейки C3 если известно что макрос выполнялся по ячейкам в этой строке ... |
![]() |
![]() |
#5 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Посмотрите вложение. По оговоренным условиям запускается макрос и создает лист (копию первого листа) с именем из ячейки столбца "C".
Если лист с таким именем уже есть - он будет удален и создан снова. Допишите макрос как Вам нужно. Добавьте (удалите, скопируйте, вставьте и т.д.) нужные столбцы из листа "Основной" во вновь созданный лист. Новый лист создается последним, поэтому обращаться к нему можно просто: Sheets(Sheets.Count).
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
#6 |
Пользователь
Регистрация: 06.03.2008
Сообщений: 15
|
![]()
Спасибо большое
вот итог ... поправил там еще макрорекордером ... |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 06.03.2008
Сообщений: 352
|
![]() Код:
![]() Последний раз редактировалось дмидми; 22.04.2008 в 10:39. |
![]() |
![]() |
#8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Посмотрите, что у меня получилось в результате "чистки" Вашего макроса. Почувствуйте разницу. Совет на будущее - по-возможности не используйте метод Select. Во-первых, это заметно "тормозит", во-вторых, мелькает картинка на дисплее.
По поводу замечания от дмидми - отвечаю: Благодаря наличию оператора On Error Resume Next, если ячейка, данные которой используются для задания имени листа, пуста, или содержит недопустимые символы, то новый лист будет создан с именем "Основной(2)" и т.д. Т.е. криминала нет. Конечно, если так не устраивает, можно-таки вставить проверку ячейки. И On Error GoTo 0 не выполняется, как раз потому, что нужно также игнорировать возможную ошибку при присвоении имени нового листа. Обработчик ошибок возвращается в "нормальное" состояние автоматически, по окончании работы макроса. (по этому я часто не вставляю в код строки вида On Error GoTo 0, Application.DisplayAlerts = True, Application.ScreenUpdating = True и т.д.). С удалением листа (If Err = 0...), конечно, согласен. Это ошибка (описка). В следующем вложении все исправлено. P.S. Еще раз напоминаю, что все, что здесь предлагается - это наброски, болванки, руководство к действию (как хотите). Поэтому все замечания и предложения - приветствуются.
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 22.04.2008 в 11:25. Причина: Добавлено |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
с помощью макроса скопировать значение всей строки(не одной ячейки, а нескольких) | global | Microsoft Office Excel | 6 | 27.11.2008 17:43 |
Как разделить число и текст в одной ячейки на две ячейки. | neboskreb | Microsoft Office Excel | 2 | 15.04.2008 19:39 |
DBGridEh+EditMask при условии. | Jenya | БД в Delphi | 1 | 03.03.2008 13:58 |
Проблема в условии.. | POPOV | Общие вопросы C/C++ | 6 | 25.12.2007 13:39 |
Ошибка в условии запроса | boks | SQL, базы данных | 4 | 25.10.2007 10:43 |