Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EXCEL + VB = САПР. SOS, EXCEL + VB = САПР. SOS 
:(
    Опции темы
Vavanius
  Дата 1.10.2003, 16:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Люди у кого есть исходник. Или так помогите в начальной стадии, а япотом как-нибудь сам дорублю.
задание следущее:
1. Делаем форму с выпадающими менюшками штук 10.
Данные для этих менюшек должны браться из листа екселя(я не знаю как его туды прикрепить
в этом екселевском файлике 3 столбца:1 - тип работы на пример оклейка стен 2 - мераж 3- цена
)
2. Также напротив каждой менюшки должно быть по 2 текстовых поля для метража и коллтчества работ (Так как САПР для строительной компании).
3. также текстовое поле для введения курса доллара или евро который должен привязываться к этой форме.
4. внизу формы должено быть несколько кнопок при нажатии 1. новое окно о полученом заказе и его цена. 2 - кнопка вывод на печать.


Программеры спасайте.
Дайте хотябы исходник с прикреплённым файликом плюс менюшки и текстовые блоки и их код
  Вверх
Alles
Дата 2.10.2003, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Зачем все усложнять то confused.gif
Ну и делай в самом EXCEL-е ! Да я вариантов там целая куча и ничего цеплять не надо.
И еще ,а куда тебе кидать то ?? [email protected] кинь на мое мыло мессагу. Сегодня постараюсь помочь тебе .
PM MAIL ICQ   Вверх
Alles
Дата 2.10.2003, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Все у меня все готово ! , но я могу умотать в командировку шеф меня сегодня " обрадывал"
Но все равно мыльни , если будет необходимость , буду дня через два тогода фай и вышлю. А пока вот тебе на затравку может и сам все сделаешь !!!
Необходимо создать :
Книга EXCEL с тремя листами название листов - BD , Vvod , Blank
Лист BD - на нем находится данные для списков . Необходимо три столбца : Наименование, Цена за ед.изм , Ед.изм.
Лист Blank - это лист куда будут падать все данные с формы после расчета , активные ячейки смотри в коде!!!
Лист - Vvod принципе не нужен я его сделал как входной только для тебя !!!

Так теперь форма (форму делаем в VBA т.е. в самом EXELE):
Нажимаем ALT +F11 попадаем в редактор VBA создаем форму кидаем на нее 10 Сомбобоксов
и 31 текстовое поле !!! ( хотя это все можно было сделать прямо на листе !!!) ну раз ты говоришь форму значит форму. Так ...дальше кидаем на поле две кнопки . Одна будет Расчитать , другая Просмотр самого расчетного бланка.
Комбы и текстовые поля располагаем горизонтально :
Имя полей в коде T1 , T11 , T111 и.т.д - получаем
Комб1 T1 T11 T111
Комб2 T2 T22 T222
Комб3 T3 T33 T333
....................... и.т.д
Комб10 T10 T101 T1001

А последнее 31 поле присвой ему имя - Kurs и воткни его куда пожелаешь !!!
Так ну теперь сам код.
Код

'===================================================================
Private Sub ComboBox1_Change()
On Error GoTo ross
T11 = ComboBox1.List(ComboBox1.ListIndex, 1) ' Заполнение поля Цена за ед. изм. Поле T11
ross:
End Sub
'===================================================================
Private Sub ComboBox2_Change()
On Error GoTo ross
T22 = ComboBox2.List(ComboBox2.ListIndex, 1) ' Заполнение поля Цена за ед. изм.
ross:
End Sub
'===================================================================
Private Sub ComboBox3_Change()
On Error GoTo ross
T33 = ComboBox3.List(ComboBox3.ListIndex, 1) ' Заполнение поля Цена за ед. изм.
ross:
End Sub
Private Sub ComboBox4_Change()
On Error GoTo ross
T44 = ComboBox4.List(ComboBox4.ListIndex, 1) ' Заполнение поля Цена за ед. изм.
ross:
End Sub
'=====================================================================
Private Sub CommandButton1_Click()
On Error GoTo BUGG ' Если ошибка при вводе уходим на метку ross
If IsNull(Kurs) Or Kurs = Empty Then MsgBox "Введите курс валюты ": Exit Sub ' Блок если поле Kurs пустое
T111 = (T1 * T11) * Kurs & " р." ' Выводим сумму
T222 = (T2 * T22) * Kurs & " р." ' Выводим сумму
T333 = (T3 * T33) * Kurs & " р." ' Выводим сумму
T444 = (T4 * T44) * Kurs & " р." ' Выводим сумму
T555 = (T5 * T55) * Kurs & " р." ' Выводим сумму
T666 = (T6 * T66) * Kurs & " р." ' Выводим сумму
T777 = (T7 * T77) * Kurs & " р." ' Выводим сумму
T888 = (T8 * T88) * Kurs & " р." ' Выводим сумму
T999 = (T9 * T99) * Kurs & " р." ' Выводим сумму
T1001 = (T10 * T101) * Kurs & " р." ' Выводим сумму
Exit Sub
BUGG: If Err.Number = 13 Then MsgBox "Ошибка ввода данных или не все данные", vbCritical
End Sub

'========================================================================
Private Sub CommandButton2_Click()
On Error GoTo ross ' Если ошибка при вводе или пустой элемент выскакиваем с процедуры
Sheets("Blank").Select ' Переход на лист бланк
Cells(8, 2) = ComboBox1.List(ComboBox1.ListIndex, 0)' Заполнение ячеек листа с 1 колонки Комба1
Cells(8, 5) = ComboBox1.List(ComboBox1.ListIndex, 2)' Заполнение ячеек листа с 3 колонки Комба1
Cells(8, 6) = T1 ' Заполнение ячеек листа с Поля T1
Cells(8, 7) = ComboBox1.List(ComboBox1.ListIndex, 1)' Заполнение ячеек листа с 2 колонки Комба1
Cells(8, 8) = Kurs' Заполнение ячеек листа с Поля  Kurs
Cells(9, 2) = ComboBox2.List(ComboBox2.ListIndex, 0)
Cells(9, 5) = ComboBox2.List(ComboBox2.ListIndex, 2)
Cells(9, 6) = T2
Cells(9, 7) = ComboBox2.List(ComboBox2.ListIndex, 1)
Cells(9, 8) = Kurs
Cells(10, 2) = ComboBox3.List(ComboBox3.ListIndex, 0)
Cells(10, 5) = ComboBox3.List(ComboBox3.ListIndex, 2)
Cells(10, 6) = T3
Cells(10, 7) = ComboBox3.List(ComboBox3.ListIndex, 1)
Cells(10, 8) = Kurs
Cells(11, 2) = ComboBox4.List(ComboBox4.ListIndex, 0)
Cells(11, 5) = ComboBox4.List(ComboBox4.ListIndex, 2)
Cells(11, 6) = T4
Cells(11, 7) = ComboBox4.List(ComboBox4.ListIndex, 1)
Cells(11, 8) = Kurs
ross:
Unload Me ' Тут дороботеш сам !!!

End Sub

'=================================================================
Private Sub UserForm_Activate()
' При активизации формы идет заполнение Комбов с листа BD
n = 2
While Sheets("BD").Cells(n, 1) <> Empty 'Цикл на заполнение Комбов - заполнение пока не пустая ячейка
'по адресу  лист BD  столбец An  где n - номер стоки ячейки. Следи за тем чтобы небыло пустых ячеек
ComboBox1.AddItem Sheets("BD").Cells(n, 1) ' получение данных 1 колонки Комба1         ' тут  все идет
ComboBox1.List(n - 2, 1) = Sheets("BD").Cells(n, 2) ' получение данных 2 колонки Комба1' по одной
ComboBox1.List(n - 2, 2) = Sheets("BD").Cells(n, 3) ' получение данных 3 колонки Комба1 ' строке !
ComboBox2.AddItem Sheets("BD").Cells(n, 1)
ComboBox2.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox2.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
ComboBox3.AddItem Sheets("BD").Cells(n, 1)
ComboBox3.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox3.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
ComboBox4.AddItem Sheets("BD").Cells(n, 1)
ComboBox4.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox4.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
ComboBox5.AddItem Sheets("BD").Cells(n, 1)
ComboBox5.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox5.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
ComboBox6.AddItem Sheets("BD").Cells(n, 1)
ComboBox6.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox6.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
ComboBox7.AddItem Sheets("BD").Cells(n, 1)
ComboBox7.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox7.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
ComboBox8.AddItem Sheets("BD").Cells(n, 1)
ComboBox8.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox8.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
ComboBox9.AddItem Sheets("BD").Cells(n, 1)
ComboBox9.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox9.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
ComboBox10.AddItem Sheets("BD").Cells(n, 1)
ComboBox10.List(n - 2, 1) = Sheets("BD").Cells(n, 2)
ComboBox10.List(n - 2, 2) = Sheets("BD").Cells(n, 3)
n = n + 1
Wend
'========================================================
Private Sub CommandButton2_Click()
Sheets("Blank").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True' печать всего чего ты натворил  :)))
End Sub
'=====================================================


End Sub






PM MAIL ICQ   Вверх
Alles
Дата 2.10.2003, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Sorry !
Последняя процедура находится на самом листе . т.е. кнопка лежит на самом листе Blank
Если ты оставиш эту процедуру тут же тогда добвь еще одну кнопку на форму , а последнюю процедуру ..... сделай не - Private Sub CommandButton2_Click() , а Private Sub CommandButton3_Click()

....Ну не могу я без запарок smile.gif) Удачи !!! давай дерзай !!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0878 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.