Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Упрощение макроса - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Упрощение макроса
VSpolun Дата: Пятница, 22.11.2013, 16:33 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
День добрый. помогите пожалуйста упростить макрос. Сам смог сделать только в таком виде через "запись" и некоторые изменения вручную. Но сейчас таких листов слишком много стало и макрос очень долго считает.

[vba]
Код
Sub Все_листы()
'
' Все_листы Макрос
'

'
     Sheets("Общее").Select
     Range("C1").Select
     Selection.AutoFilter
     ActiveSheet.Range("$A$1:$F$6").AutoFilter Field:=3, Criteria1:= _
         "Михаил Диюк"
     Range("A3:E8000").Select
     Selection.Copy
     Sheets("Михаил Диюк").Select
     Range("A2").Select
     ActiveSheet.Paste
     Sheets("Общее").Select
     ActiveSheet.Range("$A$1:$F$6").AutoFilter Field:=3
     Range("B2").Select
     Application.CutCopyMode = False
     ActiveCell.FormulaR1C1 = ""
     Range("B3").Select
     Selection.AutoFilter
End Sub
[/vba]
 
Ответить
СообщениеДень добрый. помогите пожалуйста упростить макрос. Сам смог сделать только в таком виде через "запись" и некоторые изменения вручную. Но сейчас таких листов слишком много стало и макрос очень долго считает.

[vba]
Код
Sub Все_листы()
'
' Все_листы Макрос
'

'
     Sheets("Общее").Select
     Range("C1").Select
     Selection.AutoFilter
     ActiveSheet.Range("$A$1:$F$6").AutoFilter Field:=3, Criteria1:= _
         "Михаил Диюк"
     Range("A3:E8000").Select
     Selection.Copy
     Sheets("Михаил Диюк").Select
     Range("A2").Select
     ActiveSheet.Paste
     Sheets("Общее").Select
     ActiveSheet.Range("$A$1:$F$6").AutoFilter Field:=3
     Range("B2").Select
     Application.CutCopyMode = False
     ActiveCell.FormulaR1C1 = ""
     Range("B3").Select
     Selection.AutoFilter
End Sub
[/vba]

Автор - VSpolun
Дата добавления - 22.11.2013 в 16:33
SkyPro Дата: Пятница, 22.11.2013, 16:49 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Это уже 7я ваша тема, но вы упорно продолжаете нарушат правила форума.
[moder]Первое замечание он получил.
Скоро будет еще.
Да, точно. Буду сегодня зверствовать.


skypro1111@gmail.com
 
Ответить
СообщениеЭто уже 7я ваша тема, но вы упорно продолжаете нарушат правила форума.
[moder]Первое замечание он получил.
Скоро будет еще.
Да, точно. Буду сегодня зверствовать.

Автор - SkyPro
Дата добавления - 22.11.2013 в 16:49
MacSieM Дата: Пятница, 22.11.2013, 16:54 | Сообщение № 3
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
VSpolun, мне кажется, считает долго не макрос. Долго пересчитываются значения на листе Excel.
Попробуйте в самом начале Вашего макроса добавить:
[vba]
Код
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
[/vba]
А в конце, соответственно:
[vba]
Код
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
[/vba]
Это для того, чтобы во время выполнения макроса не было обновления экрана и не происходил пересчет значений в книге. В конце все включается обратно.
[p.s.]Вопрос следовало бы разместить в соответствующем разделе.


Сообщение отредактировал MacSieM - Пятница, 22.11.2013, 16:56
 
Ответить
СообщениеVSpolun, мне кажется, считает долго не макрос. Долго пересчитываются значения на листе Excel.
Попробуйте в самом начале Вашего макроса добавить:
[vba]
Код
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
[/vba]
А в конце, соответственно:
[vba]
Код
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
[/vba]
Это для того, чтобы во время выполнения макроса не было обновления экрана и не происходил пересчет значений в книге. В конце все включается обратно.
[p.s.]Вопрос следовало бы разместить в соответствующем разделе.

Автор - MacSieM
Дата добавления - 22.11.2013 в 16:54
VSpolun Дата: Пятница, 22.11.2013, 17:39 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
MacSieM, Здорово! Работает... Спасибо!

[offtop]SkyPro, Нарушат, нарушат и снова нарушат.! Если б специально..., я не знал что отдельно по макросам форум есть... Буду теперь знать...
P.S. Спасибо что считаете мои темы... А то сам все никак не найду время подсчитать... [/offtop]
 
Ответить
СообщениеMacSieM, Здорово! Работает... Спасибо!

[offtop]SkyPro, Нарушат, нарушат и снова нарушат.! Если б специально..., я не знал что отдельно по макросам форум есть... Буду теперь знать...
P.S. Спасибо что считаете мои темы... А то сам все никак не найду время подсчитать... [/offtop]

Автор - VSpolun
Дата добавления - 22.11.2013 в 17:39
KuklP Дата: Пятница, 22.11.2013, 18:48 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
VSpolun, а Вы продолжайте в том же духе и счет Ваших тем очень быстро закончится.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеVSpolun, а Вы продолжайте в том же духе и счет Ваших тем очень быстро закончится.

Автор - KuklP
Дата добавления - 22.11.2013 в 18:48
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!