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

Вход

Регистрация

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

 

= Мир MS Excel/Очистить ячейки от формул или удалить столбцы макросом - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Очистить ячейки от формул или удалить столбцы макросом (Макросы/Sub)
Очистить ячейки от формул или удалить столбцы макросом
sgkorolew Дата: Суббота, 11.11.2017, 14:34 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Столкнулся со следующей проблемой: имеется таблица с большим количеством формул и, как следствие, при открытии книги эксель все формулы активируются, что приводит к зависанию программы.
Я решил разбить вычисления на несколько этапов, воспользовавшись записью макросов.
Мой порядок действий:
1. Очистил от формул все строки каждой таблицы, кроме первых строк;
2. Запустил команду "Запись макроса" и выполнил следующие действия: 1. скопировал формулы до конца таблицы; 2. заменил формулы значениями.
3. Повторил действие 2 несколько раз путем создания новых макросов.
Получилось 5 макросов.
Макрос 5 должен удалять на листе "Расчет" два столбца с формулами, либо заменять формулы значениями в этих столбцах. Но опять все получается печально - эксель зависает...
Подскажите, пожалуйста, что можно сделать.
Файл во вложении.
К сообщению приложен файл: 9048212.xlsm(86Kb)


Сообщение отредактировал sgkorolew - Суббота, 11.11.2017, 14:38
 
Ответить
СообщениеДобрый день!
Столкнулся со следующей проблемой: имеется таблица с большим количеством формул и, как следствие, при открытии книги эксель все формулы активируются, что приводит к зависанию программы.
Я решил разбить вычисления на несколько этапов, воспользовавшись записью макросов.
Мой порядок действий:
1. Очистил от формул все строки каждой таблицы, кроме первых строк;
2. Запустил команду "Запись макроса" и выполнил следующие действия: 1. скопировал формулы до конца таблицы; 2. заменил формулы значениями.
3. Повторил действие 2 несколько раз путем создания новых макросов.
Получилось 5 макросов.
Макрос 5 должен удалять на листе "Расчет" два столбца с формулами, либо заменять формулы значениями в этих столбцах. Но опять все получается печально - эксель зависает...
Подскажите, пожалуйста, что можно сделать.
Файл во вложении.

Автор - sgkorolew
Дата добавления - 11.11.2017 в 14:34
RAN Дата: Суббота, 11.11.2017, 15:07 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4602
Репутация: 925 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub qq1()
    With ActiveSheet.UsedRange
        .Offset(2).Resize(.Rows.Count - 2).Value = .Offset(2).Resize(.Rows.Count - 2).Value
    End With
End Sub
Sub qq2()
Dim ar
    With ActiveSheet.UsedRange
       ar = .Offset(1).Resize(1).Formula
        .Offset(2).Resize(.Rows.Count - 2).Value = ar
    End With
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub qq1()
    With ActiveSheet.UsedRange
        .Offset(2).Resize(.Rows.Count - 2).Value = .Offset(2).Resize(.Rows.Count - 2).Value
    End With
End Sub
Sub qq2()
Dim ar
    With ActiveSheet.UsedRange
       ar = .Offset(1).Resize(1).Formula
        .Offset(2).Resize(.Rows.Count - 2).Value = ar
    End With
End Sub
[/vba]

Автор - RAN
Дата добавления - 11.11.2017 в 15:07
sgkorolew Дата: Суббота, 11.11.2017, 17:23 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, добрый день!
Сделал следующее:
1. Запустил макрос 4 на листе "Расчет", который
скопировал формулы из ячеек R2:S2 в ячейки R3:S10000
скопировал значения из ячеек R2:S10000 в ячейки T2:U10000
Теперь нужно либо очистить ячейки R2:S10000 (ячейки с формулами, которые тормозят эксель), либо удалить столбцы R:S (столбцы с формулами), либо заменить формулы значениями в ячейках R2:S10000.
2. Изменил код макроса 5 на ваш код.
Не получается выполнить макрос...
В чем секрет? :)
 
Ответить
СообщениеRAN, добрый день!
Сделал следующее:
1. Запустил макрос 4 на листе "Расчет", который
скопировал формулы из ячеек R2:S2 в ячейки R3:S10000
скопировал значения из ячеек R2:S10000 в ячейки T2:U10000
Теперь нужно либо очистить ячейки R2:S10000 (ячейки с формулами, которые тормозят эксель), либо удалить столбцы R:S (столбцы с формулами), либо заменить формулы значениями в ячейках R2:S10000.
2. Изменил код макроса 5 на ваш код.
Не получается выполнить макрос...
В чем секрет? :)

Автор - sgkorolew
Дата добавления - 11.11.2017 в 17:23
RAN Дата: Суббота, 11.11.2017, 17:36 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4602
Репутация: 925 ±
Замечаний: 0% ±

2010
В чем секрет?

Возможно, нужно не только трясти?
Запустить на листе "Расчет" сначала qq2, затем qq1.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
В чем секрет?

Возможно, нужно не только трясти?
Запустить на листе "Расчет" сначала qq2, затем qq1.

Автор - RAN
Дата добавления - 11.11.2017 в 17:36
sgkorolew Дата: Суббота, 11.11.2017, 18:01 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Цитата
Возможно, нужно не только трясти?

Просто я думал, что тут ничего сложного.
Цитата
Запустить на листе "Расчет" сначала qq2, затем qq1.

В списке макросов для qq2 и qq1 у меня активна только кнопка "Создать". Я нажимаю "Создать" для qq2 и у меня создается два новых макроса с пустым кодом.
 
Ответить
Сообщение
Цитата
Возможно, нужно не только трясти?

Просто я думал, что тут ничего сложного.
Цитата
Запустить на листе "Расчет" сначала qq2, затем qq1.

В списке макросов для qq2 и qq1 у меня активна только кнопка "Создать". Я нажимаю "Создать" для qq2 и у меня создается два новых макроса с пустым кодом.

Автор - sgkorolew
Дата добавления - 11.11.2017 в 18:01
RAN Дата: Суббота, 11.11.2017, 18:05 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4602
Репутация: 925 ±
Замечаний: 0% ±

2010
В списке макросов для qq2 и qq1 у меня активна только кнопка "Создать". Я нажимаю "Создать" для qq2 и у меня создается два новых макроса с пустым кодом.

Сие действо для меня "табула раза"! :)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
В списке макросов для qq2 и qq1 у меня активна только кнопка "Создать". Я нажимаю "Создать" для qq2 и у меня создается два новых макроса с пустым кодом.

Сие действо для меня "табула раза"! :)

Автор - RAN
Дата добавления - 11.11.2017 в 18:05
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Очистить ячейки от формул или удалить столбцы макросом (Макросы/Sub)
Страница 1 из 11
Поиск:

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