imho.ws |
![]() |
![]() |
![]() |
# 1 |
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Задачка по Excel
Знакомая задачку задала...
Есть база данных (таблица) строительных материалов. Требуется разработать таблицу для автоматизации составления сметы с использованием данных из этой таблицы. Процедура работы должна выглядеть так: пользователь выбирает из списка (элемент управления) нужную позицию, в заданных вами ячейках отражаются цена за единицу размерности этой товарной позиции (из таблицы-базы). Пользователь задает необходимое количество этой товарной позиции и нажимает кнопку "включить в смету". Макрос добавляет наименование выбранной позиции, цену за единицу, указанное количество и общую стоимость (цена*количество) отдельной строкой в смету. Далее пользователь может выбрать произвольное кол-во товарных позиций и также включить их в смету. То есть число строк в смете должно увеличиваться, при этом форма сметы должна предусматривать общую сумму по включенным в нее строкам-позициям. После того, как пользователь закончил формирование сметы он должен ее распечатать (тоже через макрос). Если кто сможет сделать и сделает получит мой вечный респект ![]()
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
![]() |
![]() |
# 2 | |
Full Member
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Если я правильно понял, там должны быть элементы формы: список, кнопка добавления и кнопка печати? Если это просто две таблицы на разных листах, должно быть просто. А вообще, один деятель хотел аналогичную автоматизацыю. Я ему Access базу сделал, он остался доволен. ИМХО удобнее и надёжнее. |
|
![]() |
![]() |
# 3 |
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
а это просто задачка такая,
в данном случае под базой имеется ввиду таблица ака прайс-лист
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
![]() |
![]() |
# 5 |
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
да сам в непонятках =(
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
![]() |
![]() |
# 7 |
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
а ты выкинь сюда то что есть, может мне че в голову придет
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
![]() |
![]() |
# 8 |
Full Member
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Пока ничего нет. Я только методом тыка вычислил как список работает. Прописываеш откуда брать данные (D10:D15) и куда выдавать ответ (C1). При изменении список прописывает в C1 порядковый номер выбранного элемента. Если выбрал D10, тогда С1 будет равен 1. Если D12 - С1 равен 3.
Через событие списка OnChange (вроде так назывался) можно получить новое значение C1. Дальше смотреть пока времени небыло. |
![]() |
![]() |
# 9 |
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
я до этого тоже докопался, а вот со скриптами/макросами в Excel я не дружу
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
![]() |
![]() |
# 13 |
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
да, весьма
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
![]() |
![]() |
# 14 |
Full Member
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ну что я могу сказать?
Праздники прошли, похмельный синдром тоже. Работающий прототип готов. хе-хе ![]() Только щас косяк заметил. В процедуре Sub Button6_Click() есть строчка Range("A2:D" & strLast).Select её нужно заменить на Range("A2:D" & strLast + 2).Select ![]() |
![]() |
![]() |
# 16 |
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
да весьма, нашел еще один баг: при прерывании печати
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
![]() |
![]() |
# 18 |
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А там просто идет Runtime Error - метод завершен некорректно.
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
![]() |