6 / 3 / 0
Регистрация: 12.04.2013
Сообщений: 67
|
|
1 | |
Excel VBA модули12.11.2013, 21:51. Показов 5479. Ответов 44
Метки нет (Все метки)
Здравствуйте.
Встала задача реализовать такую вещь. Пример: 1. строительство кирпичных стен входные данные, (объём, тип кирпича, вид кладки) в расчёте используются формулы (чистый эксель) и данные из внешних справочников (стоимость материала, стоимость работы, справочники это таблицы экселя с наименованием и стоимостью) 2. выходные данные (список материалов, их цен и работ) Всё это планируется оформить в модуль ?, (функцию) соответственно при обработке исходных данных при совпадении исходных данных вызывать модуль обработки и добавлять в смету требуемые данные. Вопрос как реализовать такой модуль на эксель, и как передавать в/из него данные посредством VBA.
0
|
12.11.2013, 21:51 | |
Ответы с готовыми решениями:
44
Vba excel windows и vba excel Mac Os - Макинтош корявит шрифт Программа AtteStat1205 для Excel, встраивает модули в Excel, как ее удалить Как заменить и (или) добавить модули в запароленый проект VBA програмно VBA парсер выдает ошибку vba excel Run-time error '-2147319783 (80028019) и "microsoft ожидает пока другое приложение за |
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.11.2013, 09:06 | 21 |
Если справочники занимают большой объём, то хранить, конечно, лучше в базе.
А вот на счёт PDF? Чем вызвано это? Тем более, что вывод предполагается в текстовые поля И ещё. Если базы в Access можно оправдать, то формы почему тоже в базе если вычисления будут в екселе? В екселе с формами работать удобнее. Проще интерфейс и доступ к контролам. Пишите в личку, что бы не разводить на форуме дискуссий Добавлено через 6 минут Или не участвуют некоторые параметры-коэффициенты? Как я понимаю имеется разниица между результатами рассчитанными вручную и программно
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
13.11.2013, 09:57 | 22 |
Я больше не буду. И ухожу из темы. Только один вопрос остался: "Сметные программы мне не подходят (они для крупных строек, у меня малоэтажка)" Это Вам на названом форуме сказали? Тогда, думаю, не стоит его никому рекомендовать. А Вам, по секрету, любая спец. программа выдаст смету с одной позицией - перенос щепки длиной 10 см не расстояние 2 м. Если уметь, конечно. Все, меня больше нет.
0
|
6 / 3 / 0
Регистрация: 12.04.2013
Сообщений: 67
|
|
13.11.2013, 10:38 [ТС] | 23 |
для удобства заказчика, это уже сейчас сделанно.
сейчас расчётчик более 3х тысяч строчек и все формульные с условиями. Уже очень сложно вычёсывать проблемы. К томуже эксель иногда дуркует с абсолютной и относительной адресацией, тогда вообще руками очень много восстанавливать приходится. Добавлено через 24 секунды Спасибо.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.11.2013, 11:06 | 24 |
более 3000 и все формульные с относительной и абсолютной адресацией это круто!
Но я за VBA. Т.е. отказаться вообще от формул. ИМХО много формул и функций заметно тормозят рассчёты. Сталкивался с книгой, которая открывалась (и пересчитывалась каждый раз) более 40 минут. И при этом заказчик заказывал ещё UDF. Убедил отказаться в пользу макросов. Стало формировать самый большой отчёт за 12с. Пока не могу сказать более конкретно по вашему случаю: не знаком с алгоритмом и методикой рассчётов. Но более чем уверен, что это решаемо.
1
|
6 / 3 / 0
Регистрация: 12.04.2013
Сообщений: 67
|
|
13.11.2013, 11:44 [ТС] | 25 |
Бог его знает, одна из причин почему хочу уйти на модули сократить колличество строк кода, по сути уникальных не более 1000 остальное вариации, если есть способ перевести формулы экселя в макросы то это возможно, но только после полной отладки системы, в экселе всё просто вот формула вот результат, в макросах это совсем неочевидно. так что пока думаю пусть так, у меня на экселе полный пересчёт всех 100 смет занимает около 10 минут. На текущий момент допустимо, тем более все 100 пересчитываются далеко не при всех изменениях.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
||||||
13.11.2013, 11:58 | 26 | |||||
По сути формулы составлены из функций листа и к ним можно обращаться и из макроса.
Так, например, вызывается функция ВПР
0
|
6 / 3 / 0
Регистрация: 12.04.2013
Сообщений: 67
|
|
13.11.2013, 17:53 [ТС] | 28 |
что вы имеете ввиду.
Добавлено через 40 минут с учётом того как часто приходится менять/подправлять расчётный метод, ваш вариант плох, представьте сколько мне при его ненаглядности "вылизывать" придётся.
1
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.11.2013, 21:03 | 29 |
findeler,
Я просто имел в виду, что если есть методика рассчёта, то нет особенных проблем привлечь в помошники компьютер. Но, как говорится, со специалистами не поспоришь! Igor_Tr вам в помощь. Ухожу из темы!
0
|
6 / 3 / 0
Регистрация: 12.04.2013
Сообщений: 67
|
|
14.11.2013, 08:04 [ТС] | 30 |
собственно обсудили всё кроме самого вопроса.
к реализовать такой модуль на эксель, ? как передавать в/из него данные посредством VBA. ? Добавлено через 1 минуту советы строительного "специалиста" по строительству мне не нужны.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
14.11.2013, 10:10 | 31 |
Нужны в этой процедуре аргументы - вписываете в скобках через запятую. По умолчанию аргументы ByRef. Если это функция, то возврат в имени функции. Добавлено через 20 минут В пост №11 я об этом писал
1
|
6 / 3 / 0
Регистрация: 12.04.2013
Сообщений: 67
|
|
14.11.2013, 13:05 [ТС] | 32 |
Это как я понял, не то. Это модули и процедуры VBA, меня интересует как сделать кусок экселя в виде модуля.
0
|
Ушел с CyberForum совсем!
|
|
14.11.2013, 14:33 | 33 |
что значит кусок экселя ? VBA встроен в любое офисное приложение ?
это уже хорошо я не льще себе мыслью, что я профессионал, но не понимаю о чем Вы Вас уже не раз просили выложить пример файла в эксель, а Вы упорно этого не понимаете. Этот файл позволит более предметно обсуждать данный вопрос ! если Вам не понравится результат работы стоматолога, в следующий раз проштудируете учебник медВУЗа и начнете себе зубы сверлить ? Сделали сами покажите Ваше творение. Поздравляю! Но наверно это не правильно, что директор стройфирмы пишет код Вы хотите, чтоб вам дома плитку программист клал ? Если обожглись с одним VBA-программистом, можно найти другого! Результаты работы которого устроили Ваших друзей, знакомых, коллег…
0
|
6 / 3 / 0
Регистрация: 12.04.2013
Сообщений: 67
|
|
14.11.2013, 19:28 [ТС] | 34 |
хочу сделать процедуру стена(х1,х2,х3,х4,...) х- входные данные.
расчет производится не синтаксисом языка ВБА а с помощью таблиц эксель, результат работ выдаётся как выходные параметры процедуры стена(у1,у2,у3,у4...) Однозначно есть хорошие программисты, вот только мне они не попадаются. возможно сказывается провинциальность Рязани. если у вас есть контакты хороших, буду рад услышать.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
||||||
14.11.2013, 22:15 | 35 | |||||
Пофлудить охота?
Это разве что в процедурном кабинете! Клизма, например.
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
14.11.2013, 22:22 | 36 |
Нет!!! Не могу!!! Я только на секундочку. Ну неужели не видно - это классика в тему "Коллеги"!!! Все, больше небуду.
1
|
Ушел с CyberForum совсем!
|
|
14.11.2013, 22:51 | 37 |
Я знаю одного человека из Рязани (главного русскоязычного гуру по визио, также является профессионалом в вба) с другого форума. Не знаю, как насчет реализации функционала средствами самого Эксель. В общем я ему о вашей задачке сообщил, если ему будет интересно - то кину Вам его контакты или он сам на Вас выйдет если он здесь зарегистрирован.
1
|
6 / 3 / 0
Регистрация: 12.04.2013
Сообщений: 67
|
|
15.11.2013, 06:43 [ТС] | 38 |
вопросы есть, я их тут задаю. Если вы помните началось с 2х вопросов. Я не программист, многого не знаю.
Добавлено через 23 секунды Спасибо.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
15.11.2013, 08:48 | 39 |
Хотя бы начните с малого: Выложите формулу или алгоритм рассчёта какого-то параметра! Что ж вы воду в ступе толчёте?: я хочу, но не хочу VBA, потому, что ненаглядно Вот примитивный онлай рассчетчик кирпичной кладки. Там 8 входных парметров. Все остальные рассчитываются внутри программы. Видимо есть какие-то коэффициенты и формулы. В чём проблема-то? Вы ничего не показываете! Сколько входных параметров у вас должно быть? Сколько выходных? Скорее всего это будет не одна процедура, а несколько. Скорее всего часть операций лучше будет вынести в функции. Но в остальном без выших формул это гадание на кофейной гуще
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
15.11.2013, 11:55 | 40 |
Ну теоретически конь в вакууме может быть таким - код берёт параметры, открывает это файл с формулами, заполняет параметрами листы, считывает результаты обсчёта, закрывает файл.
Файл с формулами - это и есть тот "модуль", сам код находится где-то в другом аппликейшене, хоть Ворде или vbs.
2
|
15.11.2013, 11:55 | |
15.11.2013, 11:55 | |
Помогаю со студенческими работами здесь
40
Функциия excel в функции excel на vba Vba экспорт в excel по vba-фильтру VBA запросы в excel vba Импорт таблицы Excel в БД Access через VBA через кнопку в Excel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |