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

Вход

Регистрация

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

 

= Мир MS Excel/как в макросе указать диапазоны пересчета формул - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как в макросе указать диапазоны пересчета формул (Макросы/Sub)
как в макросе указать диапазоны пересчета формул
micholap_denis Дата: Вторник, 14.04.2020, 13:34 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
вопрос наверное пустячный...но так как с написанием макросов не дружу, требуется помощь
нарыл макрос, хочу припилить к своему файлу, чтоб максимально облегчить и ускорить, планирую чтоб в таблице были значения а не формулы и по надобности (при добавлении новых строк) кнопкой пересчитывать только новые или те что указаны в "Признаке"

Макрос делает следуеющее:

Проходит по всем ячейкам столбца "Признак"
Если "Признак"=1, то во все "Столбцы" таблицы вставлются формулы из строки "Формула"
После заполнения всех формул пересчитывается рабочий лист
После завершения расчета все вставленные формулы заменяются на значения

вопрос такой, как изменить макрос что бы
1.задать диапазоны пересчета формул - допусти : столбец1-2;столбец4;столбец7-8
2. пример который нарыл был обычная таблица а у меня умная...как изменить что бы это было учтено и применялось ко всей таблице
3. может как то его ускорить можно-в моем файле более 17000 строк и столбцов с формулами под 20шт.
К сообщению приложен файл: 7024505.xlsm (26.9 Kb)
 
Ответить
Сообщениевопрос наверное пустячный...но так как с написанием макросов не дружу, требуется помощь
нарыл макрос, хочу припилить к своему файлу, чтоб максимально облегчить и ускорить, планирую чтоб в таблице были значения а не формулы и по надобности (при добавлении новых строк) кнопкой пересчитывать только новые или те что указаны в "Признаке"

Макрос делает следуеющее:

Проходит по всем ячейкам столбца "Признак"
Если "Признак"=1, то во все "Столбцы" таблицы вставлются формулы из строки "Формула"
После заполнения всех формул пересчитывается рабочий лист
После завершения расчета все вставленные формулы заменяются на значения

вопрос такой, как изменить макрос что бы
1.задать диапазоны пересчета формул - допусти : столбец1-2;столбец4;столбец7-8
2. пример который нарыл был обычная таблица а у меня умная...как изменить что бы это было учтено и применялось ко всей таблице
3. может как то его ускорить можно-в моем файле более 17000 строк и столбцов с формулами под 20шт.

Автор - micholap_denis
Дата добавления - 14.04.2020 в 13:34
micholap_denis Дата: Вторник, 14.04.2020, 20:32 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Что то не так оформил , никто не отзывается что то...
 
Ответить
СообщениеЧто то не так оформил , никто не отзывается что то...

Автор - micholap_denis
Дата добавления - 14.04.2020 в 20:32
Pelena Дата: Вторник, 14.04.2020, 21:19 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Насколько я знаю, пересчитывается целиком лист, а не отдельные диапазоны


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНасколько я знаю, пересчитывается целиком лист, а не отдельные диапазоны

Автор - Pelena
Дата добавления - 14.04.2020 в 21:19
micholap_denis Дата: Вторник, 14.04.2020, 21:26 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
может не так выразился.....про диапазоны имею ввиду - столбцы в которых формулы будут пересчитываться и заменяться значениями...в приложенном файле , указаны попорядку столбцы, а как задать столбцы которые нужно...
и чтоб ко всей умной таблице применялось
 
Ответить
Сообщениеможет не так выразился.....про диапазоны имею ввиду - столбцы в которых формулы будут пересчитываться и заменяться значениями...в приложенном файле , указаны попорядку столбцы, а как задать столбцы которые нужно...
и чтоб ко всей умной таблице применялось

Автор - micholap_denis
Дата добавления - 14.04.2020 в 21:26
micholap_denis Дата: Вторник, 14.04.2020, 21:27 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
спасибо ,что откликнулись кстати
 
Ответить
Сообщениеспасибо ,что откликнулись кстати

Автор - micholap_denis
Дата добавления - 14.04.2020 в 21:27
Pelena Дата: Вторник, 14.04.2020, 21:30 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Я не понимаю, зачем вставлять формулы, а потом сразу менять их на значения. Не проще сразу в макросе всё посчитать и вставить рассчитанное значение в ячейку?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЯ не понимаю, зачем вставлять формулы, а потом сразу менять их на значения. Не проще сразу в макросе всё посчитать и вставить рассчитанное значение в ячейку?

Автор - Pelena
Дата добавления - 14.04.2020 в 21:30
micholap_denis Дата: Вторник, 14.04.2020, 21:38 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
а так можно? было бы отлично. а как пересчитываться будет,после внесения изменений в строке ,это облегчит-ускорит файл?
 
Ответить
Сообщениеа так можно? было бы отлично. а как пересчитываться будет,после внесения изменений в строке ,это облегчит-ускорит файл?

Автор - micholap_denis
Дата добавления - 14.04.2020 в 21:38
Pelena Дата: Вторник, 14.04.2020, 21:40 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Можно при изменении, можно по кнопке.


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМожно при изменении, можно по кнопке.

Автор - Pelena
Дата добавления - 14.04.2020 в 21:40
_Boroda_ Дата: Вторник, 14.04.2020, 21:45 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
пересчитывается целиком лист, а не отдельные диапазоны

Не, Лен, диапазоны тоже можно. См. файл. Поменяй там в А1 число, в остальных ячейках формулы типа "ячейка выше + 1". Стоит ручной пересчет. Жмем кнопку, пересчитывается только зеленый диапазон
На кнопке макрос
[vba]
Код
Range("A2:A9").Calculate
[/vba]
К сообщению приложен файл: 89789797987.xlsm (13.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
пересчитывается целиком лист, а не отдельные диапазоны

Не, Лен, диапазоны тоже можно. См. файл. Поменяй там в А1 число, в остальных ячейках формулы типа "ячейка выше + 1". Стоит ручной пересчет. Жмем кнопку, пересчитывается только зеленый диапазон
На кнопке макрос
[vba]
Код
Range("A2:A9").Calculate
[/vba]

Автор - _Boroda_
Дата добавления - 14.04.2020 в 21:45
Pelena Дата: Вторник, 14.04.2020, 21:49 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Действительно. Я никогда не пользовалась


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеДействительно. Я никогда не пользовалась

Автор - Pelena
Дата добавления - 14.04.2020 в 21:49
micholap_denis Дата: Вторник, 14.04.2020, 21:50 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
а формулы будут в макросе записаны или с ячеек браться...формулы довольно длинные, чтобы сам смог макрос в свой файл перенести и адаптировать (делаю без понятия просто логически по аналогии)
 
Ответить
Сообщениеа формулы будут в макросе записаны или с ячеек браться...формулы довольно длинные, чтобы сам смог макрос в свой файл перенести и адаптировать (делаю без понятия просто логически по аналогии)

Автор - micholap_denis
Дата добавления - 14.04.2020 в 21:50
_Boroda_ Дата: Вторник, 14.04.2020, 22:06 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Денис, а Вы бы показали файл с реальными формулами. Или у Вас там везде СУММ, как в примере?

А макрос Ваш можно вот так написать
[vba]
Код
Sub tt()
    Application.ScreenUpdating = 0
    Application.Calculation = 3
    ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=11, Criteria1:=1
    Range("B2:I2").Copy
    With Range("Таблица1[[Столбец 1]:[Столбец 8]]")
        .SpecialCells(xlCellTypeVisible).PasteSpecial Paste:=xlPasteFormulas
        ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=11
        .Calculate
        .Value = .Value
    End With
    Application.Calculation = 1
    Application.ScreenUpdating = 1
End Sub
[/vba]
К сообщению приложен файл: 7024505_1.xlsm (26.8 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДенис, а Вы бы показали файл с реальными формулами. Или у Вас там везде СУММ, как в примере?

А макрос Ваш можно вот так написать
[vba]
Код
Sub tt()
    Application.ScreenUpdating = 0
    Application.Calculation = 3
    ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=11, Criteria1:=1
    Range("B2:I2").Copy
    With Range("Таблица1[[Столбец 1]:[Столбец 8]]")
        .SpecialCells(xlCellTypeVisible).PasteSpecial Paste:=xlPasteFormulas
        ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=11
        .Calculate
        .Value = .Value
    End With
    Application.Calculation = 1
    Application.ScreenUpdating = 1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 14.04.2020 в 22:06
micholap_denis Дата: Вторник, 14.04.2020, 22:12 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
сейчас приложу
 
Ответить
Сообщениесейчас приложу

Автор - micholap_denis
Дата добавления - 14.04.2020 в 22:12
_Boroda_ Дата: Вторник, 14.04.2020, 22:16 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Я никогда не пользовалась

Бывает ооочень удобно. У меня на ПБД такая кнопка выведена с макросом
[vba]
Код
Selection.Calculate
[/vba]
У нас на прошлой работе у девочек были огромные рабочие таблицы, пересчет в них обычно выключен, почти всегда меняется только небольшой кусочек и пересчитывать нужно только его. Вот для такого случая хорошо подходит


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Я никогда не пользовалась

Бывает ооочень удобно. У меня на ПБД такая кнопка выведена с макросом
[vba]
Код
Selection.Calculate
[/vba]
У нас на прошлой работе у девочек были огромные рабочие таблицы, пересчет в них обычно выключен, почти всегда меняется только небольшой кусочек и пересчитывать нужно только его. Вот для такого случая хорошо подходит

Автор - _Boroda_
Дата добавления - 14.04.2020 в 22:16
micholap_denis Дата: Вторник, 14.04.2020, 22:46 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
_Boroda_,
вот такая таблица...
К сообщению приложен файл: 9089267.xlsb (29.9 Kb)
 
Ответить
Сообщение_Boroda_,
вот такая таблица...

Автор - micholap_denis
Дата добавления - 14.04.2020 в 22:46
micholap_denis Дата: Вторник, 14.04.2020, 22:50 | Сообщение № 16
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
тоже в таблице в основном меняются только добавленные строки путем дублирования и копирования уже существующих и изменения сумм наименований и тд...
 
Ответить
Сообщениетоже в таблице в основном меняются только добавленные строки путем дублирования и копирования уже существующих и изменения сумм наименований и тд...

Автор - micholap_denis
Дата добавления - 14.04.2020 в 22:50
micholap_denis Дата: Вторник, 14.04.2020, 22:53 | Сообщение № 17
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
иногда требуется редактирование ну и соответственно пересчет старых вот и хотел чтоб макросом пересчитывались отмеченные строки
 
Ответить
Сообщениеиногда требуется редактирование ну и соответственно пересчет старых вот и хотел чтоб макросом пересчитывались отмеченные строки

Автор - micholap_denis
Дата добавления - 14.04.2020 в 22:53
_Boroda_ Дата: Вторник, 14.04.2020, 23:07 | Сообщение № 18
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Я Вам кинул уже макрос, попробовали?
Для другой таблицы конечно нужно кое-что поменять - имя таблицы, диапазон копирования, номер столбца с меткой


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЯ Вам кинул уже макрос, попробовали?
Для другой таблицы конечно нужно кое-что поменять - имя таблицы, диапазон копирования, номер столбца с меткой

Автор - _Boroda_
Дата добавления - 14.04.2020 в 23:07
micholap_denis Дата: Вторник, 14.04.2020, 23:10 | Сообщение № 19
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Я попробую.отпишусь
 
Ответить
СообщениеЯ попробую.отпишусь

Автор - micholap_denis
Дата добавления - 14.04.2020 в 23:10
micholap_denis Дата: Среда, 15.04.2020, 13:47 | Сообщение № 20
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
_Boroda_,
вроде бы перенес...работает-пару вопросов:
подскажите а как в макросе прописать

Range("B2:I2").Copy - если нужно что бы не все по порядку а выборочно ячейки c формулами- В2;D2;I2
With Range("Таблица1[[Столбец 1]:[Столбец 8]]") - то же самое вставку указать не столбцы 1-8 а те где формулы

и при скрытых столбцах и строке с формулами - не пашет....как это подправить?
 
Ответить
Сообщение_Boroda_,
вроде бы перенес...работает-пару вопросов:
подскажите а как в макросе прописать

Range("B2:I2").Copy - если нужно что бы не все по порядку а выборочно ячейки c формулами- В2;D2;I2
With Range("Таблица1[[Столбец 1]:[Столбец 8]]") - то же самое вставку указать не столбцы 1-8 а те где формулы

и при скрытых столбцах и строке с формулами - не пашет....как это подправить?

Автор - micholap_denis
Дата добавления - 15.04.2020 в 13:47
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как в макросе указать диапазоны пересчета формул (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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