Excel VBA - Combobox - PullRequest
       13

Excel VBA - Combobox

0 голосов
/ 14 января 2019

Привет, я полный нуб в программировании и VBA. Я создал форму пользователя и добавил несколько выпадающих списков. В выпадающих списках я создал выпадающий список с помощью функции With .additem EndWith. Теперь каждый раз, когда пользователь нажимает элемент в поле со списком, я вставлял окна сообщений, используя такие коды, как этот

if ComboBox1.ListIndex = 2 Then Msgbox "Do you want to open the Reports screen?", vbYesNo 

Код работает, но иногда пользователь должен нажать кнопку несколько раз, чтобы появился MsgBox.

Я создал новую форму пользователя и попытался сделать следующее

if ComboBox1.ListIndex = 1 Msgbox msg("Do you want to create a new company?", vbYesNo) = vbYes then userform1.show 

Приведенный выше код не работает, но из-за недостатка знаний я не знаю, что еще делать, поэтому я здесь. Так что приведенный выше код означает, что если внутри combobox1 вы идете вниз по строке и нажимаете ее, вы должен иметь возможность получить сообщение yesNo msgbox, и если вы нажмете yes, то появится Userform1

Я знаю, что это выполнимо, потому что мне удалось заставить пользовательскую форму 1 появляться, но моя проблема - VByesNO.

1 Ответ

0 голосов
/ 14 января 2019

Хорошо, поэтому решение - как сказал PEH - заключалось в том, чтобы соединить условие через And и удалить msg.

If ComboBox1.ListIndex = 1 And Msgbox("Do you want to create a new company?", vbYesNo) = vbYes Then UserForm1.Show

вместо

If Combobox1.Listindex =1 Msgbox msg("Do you want to create a new company?", vbYesNo) = vbYes Then UserForm1.Show
...