Страницы: 1
RSS
Как сделать нужный лист активным
 
Здравствуйте, подскажите по макросу. Есть книги эксель они все одинаковые, кол-во может быть какое угодно но структура одинаковая во всех книгах. В каждой книге есть три листа. Есть общий эксель в который сводятся итоги а именно среднее значение из ячеек всех книг. В общей книге есть макрос который обходит все книги находит среднее значение в ячейках и заносит их в таблицу в общей книги. Проблема в том что когда макрос обходит все эксели он берет данные из активного листа, а так как книги заполняют разные люди то и листы могут быть разные активными получиться что итог получится не верным. Как изменить макрос так чтоб он делал нужный мне лист активным и только после этого брал данные. Просто книг может быть очень много и заходить вручную делать активным нужный лист очень длительно по времени. Пример приложил. Очень нужна помощь.
 
Цитата
m3tp пишет: когда макрос обходит все эксели он берет данные из активного листа
вы ошибаетесь.
имеющийся в вашем файле макрос всегда берет данные из листа "ОКС", независимо от того, какой лист активный.

Цитата
m3tp пишет:Как изменить макрос так чтоб он делал нужный мне лист активным
модуля чтения мыслей в excel пока нет.
Изменено: ikki - 25.01.2013 20:17:59
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Код
Sheets("Нужный мне лист").Select

Но лучше даже не активировать, а сразу к ячейкам нужного листа обращаться:
Код
Sheets("Нужный мне лист").Cells(1,1).Value = "новый текст"
Dim vVar
vVar = Sheets("Нужный мне лист").Cells(1,1).Value
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
ikki, а причем модуль чтения мыслей, я думал exel понимает VBA, я ведь с экселем на vba говорю? интересно а как делаетте это Вы?
 
m3tp, Вам скучно? Ведь ikki Вам ответил, что
Цитата
в вашем файле макрос всегда берет данные из листа "ОКС", независимо от того, какой лист активный.
Prist ответил, что:
Цитата
лучше даже не активировать, а сразу к ячейкам нужного листа обращаться:
 
Цитата
m3tp пишет: интересно а как делаетте это Вы?
в таких случаях я в макросе пишу, какой именно мне лист нужен.
по его имени или номеру или по каким-то отличительным признакам.
если я напишу в макросе "нужный мне" - vba с excel'ем меня не поймут.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет:
если я напишу в макросе "нужный мне" - vba с excel'ем меня не поймут.
Поймут, если лист назван также.
 
мои не поймут - я так листы не называю  :)  
да и автор темы, видимо, тоже - в его примере таких листов тоже нет.
Изменено: ikki - 27.01.2013 11:37:53
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
Юрий М пишет:
m3tp, Вам скучно? Ведь ikki Вам ответил, что
Цитата
в вашем файле макрос всегда берет данные из листа "ОКС", независимо от того, какой лист активный.
Prist ответил, что:
Цитата
лучше даже не активировать, а сразу к ячейкам нужного листа обращаться:
как раз наоборот очень даже не скучно, ikki спасобо большое что указал на мою невнимательность, при запуска макроса появилась ошибка которую воспроизвести сейчас не могу вот и подумал что из за того что лист в книге не тот активен который указан в скрипте. to The_Prist спасибо за вариант.
Страницы: 1
Наверх