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

Вход

Регистрация

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

 

= Мир MS Excel/Что тормозит мою книгу - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Что тормозит мою книгу
Литр Дата: Пятница, 17.04.2026, 11:01 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 0% ±

2013
Доброго всем дня.

Есть книга (журнал) на 1200 строк который ежедневно прибавляет по 20-40 строк.
Хочу понять что его так сильно тормозит.

Варианты:

- А2:А1200 с номерами, которым по мере заполнения журнала назначаются гиперссылки на *.docx файлы
- D2:D1999 и J2:J1999 установлена проверка данных из:
Код
=СПИСОК!$A$1:$A$100

- два правила условного форматирования где закрашиваются строки в зависимости от значения в просматриваемом столбце

- на всем листе только две формулы расположенные в двух разных столбцах от 2ой строки до 1999 строки:
- Е2:Е1999
Код
=ЕСЛИОШИБКА(ИНДЕКС(СПИСОК!$B$1:$B$100;ПОИСКПОЗ(D2;СПИСОК!$A$1:$A$100;0));"")

- Н2:Н1999
Код
=ЕСЛИ(ИЛИ(F2="";G2="");"";СЦЕПИТЬ(F1185;" – ";G1185))


- так же на этом листе есть пара исполняемых макросов:
[vba]
Код

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo ExitHandler
    Application.EnableEvents = False

    Dim rng         As Range
    Set rng = Me.Range("F2:G1999", "K2:P1999")
' Все заглавные
            Target = UCase(Target.Value)
    If Target.CountLarge = 1 Then

        If Not Intersect(Target, rng) Is Nothing Then
            AutoFitRow Target
        End If

    End If

ExitHandler:
    Application.EnableEvents = True
End Sub

Private Sub AutoFitRow(ByVal cell As Range)
    Dim r           As Long
    r = cell.Row

    With Rows(r)
        .AutoFit

        If .RowHeight < 30 Then .RowHeight = 30
        If .RowHeight > 120 Then .RowHeight = 120
    End With

End Sub

[/vba]

- Ну и последнее: на соседнем листе есть 75 ячеек с такой формулой:

Код
{=ЕСЛИОШИБКА(ИНДЕКС('2026'!J$2:J$5000;МОДА(ЕСЛИ((СЧЁТЕСЛИ(A$1:A1;'2026'!J$2:J$5000)=0)*('2026'!J$2:J$5000>0);ПОИСКПОЗ('2026'!J$2:J$5000;'2026'!J$2:J$5000;0)+{0;0})));"")}


Вроде это все.

Также этой книге назначен общий доступ через: Рецензирование/Доступ к книге ("Разрешить изменять файл нескольким пользователям"). Но тормоза работают даже если с файлом работает только один юзер.

Как думаете, что из вышеперечисленного больше всего "тормозит" книгу

З.Ы. Тормоз проявляется при сохранении (до 10 сек может крутить колесо с сообщением "не отвечает)"


Сообщение отредактировал Литр - Пятница, 17.04.2026, 11:04
 
Ответить
СообщениеДоброго всем дня.

Есть книга (журнал) на 1200 строк который ежедневно прибавляет по 20-40 строк.
Хочу понять что его так сильно тормозит.

Варианты:

- А2:А1200 с номерами, которым по мере заполнения журнала назначаются гиперссылки на *.docx файлы
- D2:D1999 и J2:J1999 установлена проверка данных из:
Код
=СПИСОК!$A$1:$A$100

- два правила условного форматирования где закрашиваются строки в зависимости от значения в просматриваемом столбце

- на всем листе только две формулы расположенные в двух разных столбцах от 2ой строки до 1999 строки:
- Е2:Е1999
Код
=ЕСЛИОШИБКА(ИНДЕКС(СПИСОК!$B$1:$B$100;ПОИСКПОЗ(D2;СПИСОК!$A$1:$A$100;0));"")

- Н2:Н1999
Код
=ЕСЛИ(ИЛИ(F2="";G2="");"";СЦЕПИТЬ(F1185;" – ";G1185))


- так же на этом листе есть пара исполняемых макросов:
[vba]
Код

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo ExitHandler
    Application.EnableEvents = False

    Dim rng         As Range
    Set rng = Me.Range("F2:G1999", "K2:P1999")
' Все заглавные
            Target = UCase(Target.Value)
    If Target.CountLarge = 1 Then

        If Not Intersect(Target, rng) Is Nothing Then
            AutoFitRow Target
        End If

    End If

ExitHandler:
    Application.EnableEvents = True
End Sub

Private Sub AutoFitRow(ByVal cell As Range)
    Dim r           As Long
    r = cell.Row

    With Rows(r)
        .AutoFit

        If .RowHeight < 30 Then .RowHeight = 30
        If .RowHeight > 120 Then .RowHeight = 120
    End With

End Sub

[/vba]

- Ну и последнее: на соседнем листе есть 75 ячеек с такой формулой:

Код
{=ЕСЛИОШИБКА(ИНДЕКС('2026'!J$2:J$5000;МОДА(ЕСЛИ((СЧЁТЕСЛИ(A$1:A1;'2026'!J$2:J$5000)=0)*('2026'!J$2:J$5000>0);ПОИСКПОЗ('2026'!J$2:J$5000;'2026'!J$2:J$5000;0)+{0;0})));"")}


Вроде это все.

Также этой книге назначен общий доступ через: Рецензирование/Доступ к книге ("Разрешить изменять файл нескольким пользователям"). Но тормоза работают даже если с файлом работает только один юзер.

Как думаете, что из вышеперечисленного больше всего "тормозит" книгу

З.Ы. Тормоз проявляется при сохранении (до 10 сек может крутить колесо с сообщением "не отвечает)"

Автор - Литр
Дата добавления - 17.04.2026 в 11:01
Nic70y Дата: Пятница, 17.04.2026, 11:25 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9252
Репутация: 2494 ±
Замечаний: 0% ±

Excel 2010
два правила условного форматирования
скорей всего они
удалите и проверьте будут ли тормоза


ЮMoney 41001841029809
 
Ответить
Сообщение
два правила условного форматирования
скорей всего они
удалите и проверьте будут ли тормоза

Автор - Nic70y
Дата добавления - 17.04.2026 в 11:25
Литр Дата: Пятница, 17.04.2026, 13:05 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 0% ±

2013
Nic70y,
Да, чуть полегче стал. Теперь колесо крутит 5-6 сек. Но это все равно не норм.
Добавлю что таблица без ячеек находящихся вне диапазона таблицы.
При ctrl+end выделяется P2000 что и соответствует задуманному размеру. Размер файла сейчас ровно 500кв

 
Ответить
СообщениеNic70y,
Да, чуть полегче стал. Теперь колесо крутит 5-6 сек. Но это все равно не норм.
Добавлю что таблица без ячеек находящихся вне диапазона таблицы.
При ctrl+end выделяется P2000 что и соответствует задуманному размеру. Размер файла сейчас ровно 500кв


Автор - Литр
Дата добавления - 17.04.2026 в 13:05
Литр Дата: Пятница, 17.04.2026, 13:26 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 0% ±

2013
Как вы думаете, может гиперссылки? Все таки 1200 шт. Не хочу их удалить, так как потом придется долго такой массив обработать и присвоить их вновь.
 
Ответить
СообщениеКак вы думаете, может гиперссылки? Все таки 1200 шт. Не хочу их удалить, так как потом придется долго такой массив обработать и присвоить их вновь.

Автор - Литр
Дата добавления - 17.04.2026 в 13:26
Nic70y Дата: Пятница, 17.04.2026, 13:53 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 9252
Репутация: 2494 ±
Замечаний: 0% ±

Excel 2010
гиперссылки?
только что создал 17682 гиперссылок (не формул) не тормозит
формулы тяжелые у вас


ЮMoney 41001841029809
 
Ответить
Сообщение
гиперссылки?
только что создал 17682 гиперссылок (не формул) не тормозит
формулы тяжелые у вас

Автор - Nic70y
Дата добавления - 17.04.2026 в 13:53
  • Страница 1 из 1
  • 1
Поиск:

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