Excel VBA & DialogBox
3 отговора
300 прегледа
Excel VBA & DialogBox
Здравейте, някой от вас знае ли страница където има примери с диалогова кутия за Excel VBA? Рових се из нета, но във всички tutorials които прегледах такива примери липсват. И в книгата ми "Да напишем макроси в Ексел" пише много малко за диалоговата кутия, а пример практически не е даден.
Най-общо казано това което се опитвам да направя е диалогова кутия в която да се показва избрана информация от няколко реда (от един до пет, бройката варира) и потребителя да може да избира един от показаните записи. Не би трябвало да е нещо сложно.
И един бърз втори въпрос - в control toolbox-a не мога да намеря user forms. Защо и най-вече къде се крие?
Най-общо казано това което се опитвам да направя е диалогова кутия в която да се показва избрана информация от няколко реда (от един до пет, бройката варира) и потребителя да може да избира един от показаните записи. Не би трябвало да е нещо сложно.
И един бърз втори въпрос - в control toolbox-a не мога да намеря user forms. Защо и най-вече къде се крие?
Re: Excel VBA & DialogBox
Като стартираш Excel - натискаш Alt-F11, после минаваш през меню "Insert" - "User Form", и получаваш формичка, върху която ще можеш да си наредиш визуални контроли, и да пишеш код за тях. ;о)
Успех. Следващите въпроси ги формулирай по-пълно, с примерче ако може, за да можем да помагаме повече с всеки постинг.
Щирлиц
Успех. Следващите въпроси ги формулирай по-пълно, с примерче ако може, за да можем да помагаме повече с всеки постинг.
Щирлиц
Re: Excel VBA & DialogBox
Бре, колко лесно било.
Ама аз се в началния прозорец на Ексел търсех, не във VB прозореца. Мерси!
Относно диалоговата кутия... ами да речем в определена ситуация искам стойностите от A1, B1, C1 да се покажат (примерно на три лейбълс подредени в един ред); отдолу други три лейбълс със стойностите на A3, B3, C3 - понеже този ред също изпълнява съответния критерий; отдолу още един ред с A7, B7, C7. Броят на редовете от worksheet-a които изпълняват зададения критерий ще варира (но ще бъде между едно и пет). Пред всеки ред от labels, да има radio button така че потребителя да си хареса и избере единия ред. Според мен самата програма дето прави това ще бъде доволно простичка, но просто не намерих откъде да прочета малко повече инфо за диалогови кутии за да си я напиша.
Относно диалоговата кутия... ами да речем в определена ситуация искам стойностите от A1, B1, C1 да се покажат (примерно на три лейбълс подредени в един ред); отдолу други три лейбълс със стойностите на A3, B3, C3 - понеже този ред също изпълнява съответния критерий; отдолу още един ред с A7, B7, C7. Броят на редовете от worksheet-a които изпълняват зададения критерий ще варира (но ще бъде между едно и пет). Пред всеки ред от labels, да има radio button така че потребителя да си хареса и избере единия ред. Според мен самата програма дето прави това ще бъде доволно простичка, но просто не намерих откъде да прочета малко повече инфо за диалогови кутии за да си я напиша.
Re: Excel VBA & DialogBox
Мда. User Form ще ти свърши работа. Точно там, като си създадеш една формичка, редиш върху нея нужните ти контроли, и ги именуваш хубаво, така че да нямаш чудене кой лейбъл кой беше... ;о) Т.е. даваш им свойството Name. След това кликаш два пъти върху формата, и ще ти се отвори празен джам за писане на VBA код. Там пишеш процедурата:
За да зареждаш формата на екрана обаче трябва да го правиш с някакъв бутон, или нещо такова, което да изкараш върху страницата.
Щирлиц
Private Sub UserForm_Initialize()
LabelA1.Caption = Worksheets("Sheet1").Range("A1")
LabelB1.Caption = Worksheets("Sheet1").Range("B1")
LabelC1.Caption = Worksheets("Sheet1").Range("C1")
'и т.н.
End Sub
За да зареждаш формата на екрана обаче трябва да го правиш с някакъв бутон, или нещо такова, което да изкараш върху страницата.
Щирлиц