| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Excel. Автоматизация серии расчетов

Excel. Автоматизация серии расчетов

Ответ
Поиск в этой теме
Непрочитано 09.05.2022, 16:35
Excel. Автоматизация серии расчетов
Cfytrr
 
Балка на балку, кирпич на кирпич...
 
Питер
Регистрация: 09.10.2007
Сообщений: 4,818

Приветствую.

Есть файл эксель где в результате очень сложных расчетов высчитывается значение Y в зависимости от X.
Нужно получить результирующий график серии вычислений Y(X). Можно ручками менять X и записывать на листочек Y, но это очень долго. Есть ли способ в другом файле ексель записать макрос который подставит серию Х и запишет серию результатов Y?

Нажмите на изображение для увеличения
Название: 00.jpg
Просмотров: 219
Размер:	183.8 Кб
ID:	247191

__________________
...переменная FILEDIA создана для привлечения пользователей к форумам.
Просмотров: 4830
 
Непрочитано 09.05.2022, 20:04
| 1 #21
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,040


когда нажимаете Alt+F8, выберите Изменить вместо выполнить - должен выкинуть в редактор VBA:
1. В меню редактора Debug -> Compile VBAProject. Если как-то ругается - скриншот.
2. Если в п.1 никакой реакции - ставите курсор на середину слова CalcSeries и нажимаете F8. Код будет пошагово выполняться при каждом нажатии F8, и замечайте - с какой строки кода скакнет вниз на "УПС".

----- добавлено через ~4 мин. -----
и тыц
Сергей812 вне форума  
 
Непрочитано 09.05.2022, 20:24
#22
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 7,113


Да нет же.... Ну не так ид.....
х - в столбце А.
У - в столбце В.
Значения со второй строки.
У будет перезаписана.
В ячейку 1D будет забираться x. Надо в формулах вычислений дать ссылку через него.
Резулььат вычислений будет забираться из ячейки 1Е каждый раз.
v.psk вне форума  
 
Автор темы   Непрочитано 09.05.2022, 20:32
#23
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,818
Отправить сообщение для Cfytrr с помощью Skype™


Debug -> Compile VBAProject. не активна
ставите курсор на середину слова CalcSeries и нажимаете F8 Скачет по строчкам, потом упс и все, никаких сообщений о ошибках
Скакнула со строчки:

Set lWB1 = Application.Workbooks("01")
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам.

Последний раз редактировалось Cfytrr, 09.05.2022 в 20:38.
Cfytrr вне форума  
 
Непрочитано 09.05.2022, 20:32
#24
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 7,113


Да, пошагово можно прогнать код....
Да тут то чего,.... Проще некуда, последовптельно опрашивает строки, начиная со второй.
Надо только ссылки настроить, чтобы передавать для расчета числа из первого столбца, и забирать результаты во второй столбец.

----- добавлено через -----
Cfytrr, f8 на непустой строке
v.psk вне форума  
 
Непрочитано 09.05.2022, 20:34
#25
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,040


а потом окажется, что эту очень сложную формулу можно просто скопировать, зафиксировав нужные адреса и протянув мышкой по столбцу ) У меня в 2016 экселе отработал макрос нормально, там ломаться нечему)
Сергей812 вне форума  
 
Непрочитано 09.05.2022, 20:37
#26
eilukha


 
Регистрация: 10.09.2007
Сообщений: 10,592


Можно функцию свою создать.
eilukha вне форума  
 
Непрочитано 09.05.2022, 20:40
1 | #27
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,040


Цитата:
Сообщение от Cfytrr Посмотреть сообщение
Debug -> Compile VBAProject. не активна
измените проект, например скопируйте пару строк макроса и удалите потом. Это редактор временами "оптимизирует" - если код уже был скомпилирован, то блокирует этот пункт меню. Ну или пропустите п.1 - некритично.
Сергей812 вне форума  
 
Автор темы   Непрочитано 09.05.2022, 21:08
| 1 #28
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,818
Отправить сообщение для Cfytrr с помощью Skype™


Запустил эксель версии 2013 в нем сработало. Странно это. НО всем спасибо!
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам.
Cfytrr вне форума  
 
Непрочитано 09.05.2022, 22:08
1 | #29
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 7,113


Цитата:
Сообщение от Cfytrr Посмотреть сообщение
Запустил эксель версии 2013 в нем сработало
в одном файле проще, не надо обьявлять переменные для коллекции книг и диапазоны.
Но, конечно, код от Сергея более ... универсальный, практичный, более умный... я обычно проще делаю, всё же не программист....
Вложения
Тип файла: zip 01.zip (22.2 Кб, 23 просмотров)
v.psk вне форума  
 
Автор темы   Непрочитано 09.05.2022, 22:53
#30
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,818
Отправить сообщение для Cfytrr с помощью Skype™


v.psk,
Спасибо. Ваш код сработал и в 16 версии
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам.
Cfytrr вне форума  
 
Автор темы   Непрочитано 10.05.2022, 07:30
#31
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,818
Отправить сообщение для Cfytrr с помощью Skype™


v.psk,
Нажмите на изображение для увеличения
Название: 00.PNG
Просмотров: 42
Размер:	69.7 Кб
ID:	247198
не подскажите, сейчас в макросе ссылка на ячейку 1,7 текущего листа (лист 2), а как должна выглядеть ссылка на ячейку 1,7 листа 1?
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам.
Cfytrr вне форума  
 
Непрочитано 10.05.2022, 08:20
1 | #32
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 7,113


Worksheets ("лист1") . Cells(1, 7)

----- добавлено через ~2 мин. -----
Можно сделать как я - в самой ячейке дать ссылку.
Нажать в ней = и переключиться на другой лист, или скопировать ссылку
v.psk вне форума  
 
Непрочитано 10.05.2022, 08:52
#33
Бахил

?
 
Регистрация: 17.06.2014
Царицын
Сообщений: 12,211


Можно без всякого вба создать макрос при помощи кнопки "начать запись макроса".
__________________
Не откладывайте на завтра! Положите на всё уже сегодня.(с)
Бахил вне форума  
 
Непрочитано 10.05.2022, 10:02
#34
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,040


Цитата:
Сообщение от Cfytrr Посмотреть сообщение
Set lWB1 = Application.Workbooks("01")
это и подозревал - код запрашивает книгу в коллекции уже открытых документов запущенного экземпляра приложения Excel. Т.е. настроено по умолчанию на открытие в отдельных экземплярах Excel.
Сергей812 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Excel. Автоматизация серии расчетов

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связь текста в ячейках Excel и текста в AutoCad? Gedezuk5 AutoCAD 31 22.08.2018 17:20
Работа с Excel (файлами) через ActiveX kserg LISP 2 07.06.2018 15:26
Автоматизация. Формирование чертежей по таблице Excel НадеждаН Программирование 14 09.08.2017 23:28
Из какой серии ребристая плита покрытия? innersense Поиск литературы, чертежей, моделей и прочих материалов 0 20.09.2012 23:48
Возможно ли использование плит по серии ИЖ-568 как связевых sinner Конструкции зданий и сооружений 3 23.08.2012 16:43