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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос формул в макрос - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: _Boroda_, китин  
Перенос формул в макрос
Serge_007 Дата: Пятница, 29.01.2021, 13:19 | Сообщение № 21
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
я как молодой писатель о большем и мечтать не могу!
:D

Главное, чтобы ТС, когда проснётся, смог найти эту свою тему
Если переносить, то после того как ТС отпишется о том, что вопрос окончательно решен

название у темы очень удачное - по сути и никакой воды!
Да, обратил внимание сразу. Первые 2 слова только местами поменяю)

№ 17 делает тему весьма интересной и полезной для готовых решений
Вот и я именно из-за этого поста Константина решил "увековечить" эту тему :)

неплохо было бы это как-то указать в самом начале, а то могут и не дочитать до самого главного
Кому надо - точно дочитают :)

Но в топике можно и указать, что тема не сразу стала "Готовым решением" и ссылку на 17 пост дать


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
я как молодой писатель о большем и мечтать не могу!
:D

Главное, чтобы ТС, когда проснётся, смог найти эту свою тему
Если переносить, то после того как ТС отпишется о том, что вопрос окончательно решен

название у темы очень удачное - по сути и никакой воды!
Да, обратил внимание сразу. Первые 2 слова только местами поменяю)

№ 17 делает тему весьма интересной и полезной для готовых решений
Вот и я именно из-за этого поста Константина решил "увековечить" эту тему :)

неплохо было бы это как-то указать в самом начале, а то могут и не дочитать до самого главного
Кому надо - точно дочитают :)

Но в топике можно и указать, что тема не сразу стала "Готовым решением" и ссылку на 17 пост дать

Автор - Serge_007
Дата добавления - 29.01.2021 в 13:19
lebensvoll Дата: Пятница, 29.01.2021, 13:40 | Сообщение № 22
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Serge_007, грешно смеяться над больными людьми :'( :D
Ну плохо я соображаю
И 17 пост (хоть и предоставляется готовое решение для меня очень сложен в понимании как его применить в своем коде)

Даже решение предложенное gling, (Сообщение № 10) мне кажется легким и понятливым но оно завязано на кнопку и если я начинаю его применять к ВЫВОДУ (в строке B39:P39) терплю неудачу даже в его по сути готовом решении.

Легче наверное на отдельном листе прописать данную формулу а на листе "Протокол" макросом сослаться на ту ячейку того листа :'( :'( :'(
ИБО для меня не пришло все таки понимание
К сообщению приложен файл: 4791560.xlsm (84.8 Kb)


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Пятница, 29.01.2021, 13:44
 
Ответить
СообщениеSerge_007, грешно смеяться над больными людьми :'( :D
Ну плохо я соображаю
И 17 пост (хоть и предоставляется готовое решение для меня очень сложен в понимании как его применить в своем коде)

Даже решение предложенное gling, (Сообщение № 10) мне кажется легким и понятливым но оно завязано на кнопку и если я начинаю его применять к ВЫВОДУ (в строке B39:P39) терплю неудачу даже в его по сути готовом решении.

Легче наверное на отдельном листе прописать данную формулу а на листе "Протокол" макросом сослаться на ту ячейку того листа :'( :'( :'(
ИБО для меня не пришло все таки понимание

Автор - lebensvoll
Дата добавления - 29.01.2021 в 13:40
Serge_007 Дата: Пятница, 29.01.2021, 14:03 | Сообщение № 23
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Serge_007, грешно смеяться над больными людьми
Александр, о чем речь?
Макрос Константина действительно достоин места в "Готовых решениях", никакого смеха!


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Serge_007, грешно смеяться над больными людьми
Александр, о чем речь?
Макрос Константина действительно достоин места в "Готовых решениях", никакого смеха!

Автор - Serge_007
Дата добавления - 29.01.2021 в 14:03
lebensvoll Дата: Пятница, 29.01.2021, 14:18 | Сообщение № 24
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Да я за себе а не за молодого писателя Константина
 
Ответить
СообщениеДа я за себе а не за молодого писателя Константина

Автор - lebensvoll
Дата добавления - 29.01.2021 в 14:18
lebensvoll Дата: Пятница, 29.01.2021, 14:37 | Сообщение № 25
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Serge_007,
Цитата
Да я за себе а не за молодого писателя Константина

грешно смеяться над больными людьми относится ко мне
НО НИ КАК НЕ К КОНСТАНТИНУ и его ТАЛАНТУ


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеSerge_007,
Цитата
Да я за себе а не за молодого писателя Константина

грешно смеяться над больными людьми относится ко мне
НО НИ КАК НЕ К КОНСТАНТИНУ и его ТАЛАНТУ

Автор - lebensvoll
Дата добавления - 29.01.2021 в 14:37
lebensvoll Дата: Суббота, 30.01.2021, 23:49 | Сообщение № 26
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Gustav, в модуль листа пишу:

и ничего
Да блин что не так то я все делаю ((((
Если запустить выполнение макроса то выполняет (но он полностью с формулой его пишет в ячейке В39)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеGustav, в модуль листа пишу:

и ничего
Да блин что не так то я все делаю ((((
Если запустить выполнение макроса то выполняет (но он полностью с формулой его пишет в ячейке В39)

Автор - lebensvoll
Дата добавления - 30.01.2021 в 23:49
Gustav Дата: Воскресенье, 31.01.2021, 00:58 | Сообщение № 27
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
выполняет (но он полностью с формулой его пишет в ячейке В39)

lebensvoll, Вам из моего макроса надо взять строки, начинающиеся с подстрок "strFormula = strFormula & ". В них основная суть процедуры - представление формулы из ячейки в виде нескольких строк кода, которые потом можно поместить куда угодно - в нужное место рабочей программы.

Все остальные строки до и после них, включая генерируемое случайное имя процедуры - это не более, чем временная обвязка, без которой не протестировать алгоритм (ну, просто такой попутный сервис - я бы мог их и не генерировать). Да, эта тестовая законченная процедура читает формулу из одной ячейки и в нёё же возвращает - просто в рамках теста. В Вашей воле прочитать формулу из одной ячейки, а записать совершенно в другую - просто исправьте адрес ячейки и всё (если надо).

С учетом вышесказанного типичный блок With / End With в вашей процедуре из сообщения #21 может выглядеть вот так:
[vba]
Код
With Range("P39")
    strFormula = ""
    strFormula = strFormula & "=ЕСЛИ(R18=""Бетон"";ЕСЛИ(ЗНАЧЕН(O26)<27;""ЗАКЛЮЧЕНИЕ: В возрас"
    ..........
    strFormula = strFormula & "00/ВПР(R19;Класс!D5:F18;2;ЛОЖЬ);)&"" %."")))"

    .FormulaLocal = strFormula
    .Value = .Value
End With
[/vba]На всякий случай (если не понятно): многоточие .......... в представленном фрагменте означает все другие строки с "strFormula = strFormula & " между явно приведенными первой и последней из них.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
выполняет (но он полностью с формулой его пишет в ячейке В39)

lebensvoll, Вам из моего макроса надо взять строки, начинающиеся с подстрок "strFormula = strFormula & ". В них основная суть процедуры - представление формулы из ячейки в виде нескольких строк кода, которые потом можно поместить куда угодно - в нужное место рабочей программы.

Все остальные строки до и после них, включая генерируемое случайное имя процедуры - это не более, чем временная обвязка, без которой не протестировать алгоритм (ну, просто такой попутный сервис - я бы мог их и не генерировать). Да, эта тестовая законченная процедура читает формулу из одной ячейки и в нёё же возвращает - просто в рамках теста. В Вашей воле прочитать формулу из одной ячейки, а записать совершенно в другую - просто исправьте адрес ячейки и всё (если надо).

С учетом вышесказанного типичный блок With / End With в вашей процедуре из сообщения #21 может выглядеть вот так:
[vba]
Код
With Range("P39")
    strFormula = ""
    strFormula = strFormula & "=ЕСЛИ(R18=""Бетон"";ЕСЛИ(ЗНАЧЕН(O26)<27;""ЗАКЛЮЧЕНИЕ: В возрас"
    ..........
    strFormula = strFormula & "00/ВПР(R19;Класс!D5:F18;2;ЛОЖЬ);)&"" %."")))"

    .FormulaLocal = strFormula
    .Value = .Value
End With
[/vba]На всякий случай (если не понятно): многоточие .......... в представленном фрагменте означает все другие строки с "strFormula = strFormula & " между явно приведенными первой и последней из них.

Автор - Gustav
Дата добавления - 31.01.2021 в 00:58
lebensvoll Дата: Воскресенье, 31.01.2021, 01:45 | Сообщение № 28
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Gustav, СПАСИБО
Получилось!!!
Спасибо Вам огромнейшее и "за готовое решение на будущее в разбивании длинных формул" и за подсказки, помощь, и сам макрос!!!


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеGustav, СПАСИБО
Получилось!!!
Спасибо Вам огромнейшее и "за готовое решение на будущее в разбивании длинных формул" и за подсказки, помощь, и сам макрос!!!

Автор - lebensvoll
Дата добавления - 31.01.2021 в 01:45
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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