|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.09.2009, 19:12 | #1 |
Пользователь
Регистрация: 23.09.2008
Сообщений: 22
|
1 клик = 2 макроса
Подскажите, пожалуйста, как можно нажатием одной кнопки запустить два макроса. Зараннее спасибо
|
17.09.2009, 19:32 | #2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте MickMick.
Макрос(процедура) содержит набор инструкций, в его код можно добавить команду вызывающую другую процедуру. и будет - 1 клик = 2 макроса об этом и многом другом, можно узнать почитав документацию по VBA Евгений. |
17.09.2009, 19:48 | #3 |
Пользователь
Регистрация: 23.09.2008
Сообщений: 22
|
Дело в том, что каждый макрос передает данные с текущего листа на другой, и в обоих макросах содержатся цыклы. К сожалению у меня не получается выполнение обоих макросов: либо первый, либо второй.
|
18.09.2009, 11:55 | #4 |
Пользователь
Регистрация: 23.09.2008
Сообщений: 22
|
Вот первый макрос:
Sub mak_copy_post() For n = 5 To 10000 If Worksheets("Лист 1").Cells(n, 2) = "" Then Worksheets("Лист 1").Cells(n, 2).Value = ActiveSheet.Cells(2, 1).Value Worksheets("Лист 1").Cells(n, 3).Value = ActiveSheet.Cells(2, 2).Value Worksheets("Лист 1").Cells(n, 4).Value = ActiveSheet.Cells(2, 3).Value Sheets("Лист 1").Select End End If Next n End Sub Вот второй макрос: Sub mak_copy_post_full() For n = 5 To 10000 If Worksheets("Лист 2)").Cells(n, 2) = "" Then Worksheets("Лист 2)").Cells(n, 2).Value = ActiveSheet.Cells(4, 12).Value Worksheets("Лист 2)").Cells(n, 3).Value = ActiveSheet.Cells(4, 13).Value Worksheets("Лист 2)").Cells(n, 4).Value = ActiveSheet.Cells(4, 14).Value Worksheets("Лист 2)").Cells(n, 5).Value = ActiveSheet.Cells(4, 15).Value End End If Next n End Sub Мне нужно, чтобы после передачи всех данных отображалась строка из Лист 1, в которую передали данные. Если можете, подскажите как решить проблему |
09.10.2009, 10:57 | #5 |
Пользователь
Регистрация: 23.09.2008
Сообщений: 22
|
Форумчане, ПОМОГИТЕ
Неужели никто не может подсказать решение проблемы? |
09.10.2009, 11:48 | #6 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
В Вашем случае можно вообще обойтись без циклов. Например, так:
Код:
Чем шире угол зрения, тем он тупее.
|
09.10.2009, 11:52 | #7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
13.10.2009, 04:40 | #8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Если я правильно понял задачу, то требуется найти первую непустую ячейку в столбце "B" в диапазоне строк 5...10000 на 1-м и 2-м листах и в найденную строку вставить соответствующие данные. Если так, тогда Вам поможет этот макрос (с небольшой доработкой):
Код:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 13.10.2009 в 04:45. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Клик по цвету | -=L.Morgan=- | Помощь студентам | 3 | 01.07.2009 11:32 |
Клик по Image | mish@ | Общие вопросы Delphi | 2 | 10.06.2009 12:39 |
Запуск макроса с параметрами из другого макроса | Saladin | Microsoft Office Excel | 2 | 19.01.2009 09:43 |
Двойной клик | Алежа | Общие вопросы .NET | 3 | 16.11.2008 23:20 |
Клик мыши | stayer | Общие вопросы Delphi | 1 | 30.10.2008 19:53 |