MsgBox(komunikat [, przyciski][, tytuł][, plik pomocy][, kontekst] ) PRZYCISKI:
vbAbortRetryIgnore – Wyświetla przyciski Przerwij, Ponów próbę i Ignoruj, vbYesNoCancel – Wyświetla przyciski Tak, Nie i Anuluj, Stałe stosowane jako wartości zwracane przez funkcję MsgBox vbOK – Kliknięty przycisk OK,
vbCancel – Kliknięty przycisk Anuluj, vbAbort – Kliknięty przycisk Przerwij, vbRetry – Kliknięty przycisk Ponów próbę, vbIgnore – Kliknięty przycisk Ignoruj, vbYes – Kliknięty przycisk Tak,
vbNo – Kliknięty przycisk Nie,
przykład 1:
Ans =MsgBox()
If Ans=vbYes Then ...<MsgBox(“został wciśnięty klawisz TAK”)> przykład 2:
Sub name()
instrukcja
instrukcja
instrukcja
If warunek Then GoTo 10
instrukcja
instrukcja
instrukcja
10:
End Sub
UserForm
Insert->UserForm
Kontrolki:
ComboBox – okno rozwijane, w danej chwili wyświetla tylko jedną pozycję. Można do niej wprowadzić swoją wartość
ListBox – pole listy prezentuje listę pozycji, które użytkownik może wybrać (jedna lub wiele).
Wypełnianie kontrolki ComboBox
A – właściwości (Poperties) – w polu RowSource wpisz zakres komórek z arkusza <np.
A1:A12> oczywiście w tych polach arkusza muszą się znajdować dane do wypełniania listy.
B – przez kodowanie VBA
przykład 3:
W edytorze VBA wstaw formularz z kontrolkami 1*ComboBox, 1*ComandButton, 1*Label Dwukrotnie kliknij na ComandButton i wpisz następujące instrukcje: If UserForm1.ComboBox1.Value=”Poniedziałek” Then Label1=”Wybrałeś poniedziałek”
…
Będąc w arkuszu Excela przejdź do trybu edycji -> umieść na arkuszu przycisk -> kliknij na nim dwukrotnie i wprowadź następujące instrukcje: With UserForm1.ComboBox1
.RowSource=””
.AddItem ”Poniedziałek”
.AddItem ”Wtorek”
.AddItem ”Śoda”
.AddItem ”Czwartek”
.AddItem ”Piątek”
.AddItem ”Sobota”
.AddItem ”Niedziela”
End With
UserForm1.Show
przykład 4:
W edytorze VBA wstaw formularz z kontrolkami 2*ComboBox, 1*ComandButton Z kontrolką ComboBox1 skojarz listę trzech imion: Jaś, Karol, Grześ.
Dwukrotnie kliknij na ComandButton i wpisz następujące instrukcje: If ComboBox1.Value = "Jaś" Then With UserForm2.ComboBox2
.RowSource = ""
.AddItem "Poniedziałek"
.AddItem "Wtorek"
End With
End If
If ComboBox1.Value = "Karol" Then With UserForm2.ComboBox2
.Clear
.RowSource = ""
.AddItem "Śoda"
.AddItem "Czwartek"
.AddItem "Piątek"
End With
End If
If ComboBox1.Value = "Grześ" Then With UserForm2.ComboBox2
.RowSource = ""
.AddItem "Sobota"
.AddItem "Niedziela"
End With
End If