|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.08.2010, 11:33 | #1 |
Пользователь
Регистрация: 03.08.2010
Сообщений: 22
|
VBA Код жутко тормазит, помогите разобраться...
Мне нужно собрать данные с более чем 100 листов в один лист.
Нашел и подредактировал такой код, но он жудко тормазит (комп виснет на 20-30 минут). Кто знает, подскажите почему и что делать? ПОМАГИТЕ ПЛИЗ!!! (Сам я чайник !!!) Код Visual Basic Код HTML:
Private Sub Worksheet_Activate() Dim sh As Worksheet For Each sh In ThisWorkbook.Worksheets Debug.Print sh.Name If sh.Index <> ThisWorkbook.ActiveSheet.Index Then Cells(sh.Index+1, 1).Value = sh.Name Cells(sh.Index+1, 2).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-1],""'"",""!$D$16""))" Cells(sh.Index+1, 3).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-2],""'"",""!$D$17""))" Cells(sh.Index+1, 4).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-3],""'"",""!$D$18""))" Cells(sh.Index+1, 5).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-4],""'"",""!$D$19""))" Cells(sh.Index+1, 6).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-5],""'"",""!$D$20""))" Cells(sh.Index+1, 7).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-6],""'"",""!$D$21""))" Cells(sh.Index+1, 8).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-7],""'"",""!$D$22""))" Cells(sh.Index+1, 9).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-8],""'"",""!$C$4""))" Cells(sh.Index+1, 10).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-9],""'"",""!$C$12""))" Cells(sh.Index+1, 11).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-10],""'"",""!$C$16""))" Cells(sh.Index+1, 12).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-11],""'"",""!$C$17""))" Cells(sh.Index+1, 13).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-12],""'"",""!$C$18""))" Cells(sh.Index+1, 14).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-13],""'"",""!$D$19""))" Cells(sh.Index+1, 15).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-14],""'"",""!$D$20""))" Cells(sh.Index+1, 16).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-15],""'"",""!$D$21""))" Cells(sh.Index+1, 17).FormulaR1C1 = "=INDIRECT(CONCATENATE(""'"",RC[-16],""'"",""!$D$22""))" End If Next sh End Sub |
03.08.2010, 12:22 | #2 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
На листе нужно заполнить именно формулы или достаточно перенести значения из ячеек с других листов?
|
03.08.2010, 13:08 | #3 |
Пользователь
Регистрация: 03.08.2010
Сообщений: 22
|
|
03.08.2010, 14:12 | #4 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
Ну, у меня 2 варианта - Крупский и Дэлчев.
Код:
Код:
|
03.08.2010, 17:20 | #5 |
Пользователь
Регистрация: 03.08.2010
Сообщений: 22
|
|
03.08.2010, 17:30 | #6 | |
Пользователь
Регистрация: 03.08.2010
Сообщений: 22
|
Цитата:
|
|
03.08.2010, 17:45 | #7 |
Пользователь
Регистрация: 03.08.2010
Сообщений: 22
|
А первый код работает просто отлично!
Спасибо! Посадил на кнопку, проверил - изЮмительно! |
03.08.2010, 17:48 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Но второй должен работать намного быстрее.
webmoney: E265281470651 Z422237915069 R418926282008
|
03.08.2010, 17:56 | #9 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
у меня работает!
|
03.08.2010, 18:55 | #10 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
Будет очень жаль, если не заработает. Вот смотрите в моем файле - на первом листе зеленая кнопка.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Блоковый код Хемминга в VBA | Dju_Vava | Microsoft Office Excel | 1 | 10.12.2009 18:14 |
Есть код программы Сортировка строк в файле...помогите разобраться) | defol-777 | Общие вопросы C/C++ | 8 | 29.09.2009 11:42 |
Жутко назойливый БАННЕР ! ! ! | Fisk | Безопасность, Шифрование | 7 | 21.09.2009 17:24 |
Помогите разобраться в реализации поразрядной сортировки(код внутри) | CooCkoo | Помощь студентам | 0 | 15.06.2009 23:52 |
не получается разобраться в коде ! разъясните пожалуйста! код внутри! | Lion_paint | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 16.05.2009 09:30 |