Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2016, 16:21   #1
Mag0G
 
Регистрация: 25.02.2016
Сообщений: 6
По умолчанию Запуск макроса с другого листа.

Добрый день!
Извините что отнимаю ваше время, но гугл и своя голова уже не помогают.
Постараюсь быть кратким.

Создал автозаписью макрос на Лист2. Хочу запустить его "дистанционно" с Лист1, но при запуске макрос обрабатывает данные на Лист1.
Вот код:
Код HTML:
Sub ПротянутьИУбратьДубликаты()
With Sheets(2)

    Range("B2:K2").Select
    Selection.AutoFill Destination:=Range("B2:K6001")
    Range("B2:K6001").Select
    Selection.FillDown
    Range("$B$1:$K$6001").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6 _
        , 7, 8, 9, 10), Header:=xlYes
End With
End Sub
Спасибо большое всем откликнувшимся!

P.S. Код помещен в модуль и вызывается соответственно оттуда.

Последний раз редактировалось Mag0G; 25.02.2016 в 16:31. Причина: Дописка
Mag0G вне форума Ответить с цитированием
Старый 25.02.2016, 16:29   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Sub ПротянутьИУбратьДубликаты()
With Sheets(2)
    .Range("B2:K2").AutoFill Destination:=.Range("B2:K6001")
    .Range("B2:K6001").FillDown
    .Range("$B$1:$K$6001").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6 _
        , 7, 8, 9, 10), Header:=xlYes
End With
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.02.2016, 17:23   #3
Mag0G
 
Регистрация: 25.02.2016
Сообщений: 6
По умолчанию

Не срабатывает. Запускаю макрос как на Лист1 так и на Лист2. Что то там вычисляет а результата нет.
Mag0G вне форума Ответить с цитированием
Старый 25.02.2016, 18:58   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

как только напишете корректный макрос все тут же начнет работать.
хоть с другого листа, хоть с другой книги, хоть с другого компьютера...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 25.02.2016, 19:10   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Все срабатывает. Закомментируйте строку:
Код:
.Range("$B$1:$K$6001").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6 _ , 7, 8, 9, 10), Header:=xlYes
и посмотрите, что получилось. А Вы чего ожидали?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 25.02.2016, 20:39   #6
Mag0G
 
Регистрация: 25.02.2016
Сообщений: 6
По умолчанию

Никак не срабатывает.
Выложил на Яндекс Диске пример работы макроса.
https://yadi.sk/d/QtaTFHQ6pW325


На второй вкладке есть кнопка запускающая целевой макрос и все срабатывает просто прекрасно, но стоит перейти в первую вкладку и вызвать его вручную - он отрабатывает на этой самой вкладке.

На всякий случай опишу алгоритм работы макроса.
1. Выделить строку с диапазоном B2:K2
2. "Протащить" ее до B2:K6001 (в ячейках стоят формулы)
3. Удалить дублирующиеся строчки в B2:K6001

Макрос называется "ПротянутьИУбратьДубликатыВЗаголовк ах" в модуле "LaunchToKonstr".

P.S. Прошу не обращать внимания на мой индусский код в остальных макросах, пишу как умею.

Последний раз редактировалось Mag0G; 25.02.2016 в 20:45. Причина: Правка
Mag0G вне форума Ответить с цитированием
Старый 25.02.2016, 20:58   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

упаковываете файл архиватором, прикрепляете к сообщению...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 25.02.2016, 21:17   #8
Mag0G
 
Регистрация: 25.02.2016
Сообщений: 6
По умолчанию

Вы правы, извиняюсь, сразу не заметил иконки вложения в инструментарии.
Поудалял лишнего в файле чтобы влезть в разрешенный размер.
Вложения
Тип файла: rar Для форума.rar (70.6 Кб, 17 просмотров)

Последний раз редактировалось Mag0G; 25.02.2016 в 21:18. Причина: правка
Mag0G вне форума Ответить с цитированием
Старый 25.02.2016, 22:11   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Цитата:
Сообщение от Mag0G Посмотреть сообщение
Не срабатывает. Запускаю макрос как на Лист1 так и на Лист2. Что то там вычисляет а результата нет.
Ну так если ничего не менять в несрабатывающем макросе - он так и будет продолжать не срабатывать...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.02.2016, 22:25   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

и теперь главный вопрос: а какую задачу Вы решали? (что хотите сделать)

видите-ли мой опыт программирования подсказывает мне, что обычно макрос делает не то, как сформулировано его название
например "ПротянутьИУбратьДубликаты"
а делает то, что написано в коде

и если в коде ерунда, то тоже самое происходит на листе.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение листа данными с другого листа. Pasha_Z Microsoft Office Excel 6 17.01.2014 20:01
Вызов макроса внутри другого макроса. Небесный Microsoft Office Word 1 05.11.2012 22:38
Ссылка ячеек одного листа на ячейки другого листа n0str0m0 Microsoft Office Excel 10 31.12.2011 12:11
Работа с данными с другого листа printer Microsoft Office Excel 1 14.06.2011 20:01
Запуск макроса с параметрами из другого макроса Saladin Microsoft Office Excel 2 19.01.2009 09:43