Kontrolki ActiveX – Pole listy ListBox w Excel VBA

1. Budowa aplikacji do wprowadzania danych – Wstawianie pola listy ListBox (Formant ActiveX)

Pole listy w odróżnieniu od pola kombi umożliwia nam zaznaczenie więcej niż jednej opcji wyboru jednocześnie. Jak wstawić pole listy ListBox? Podobnie jak w przypadku poprzednich kontrolek, wchodzimy w kartę Developer. Spośród formantów ActiveX wybieramy pole listy. Osadzamy je nad kolumną „Rodzaj kontaktu”. Pole listy w Edytorze VBA obsługujemy bardzo podobnie jak pole kombi. Pole możemy zaprogramować także w sposób, by użytkownik mógł zaznaczyć tylko jedną opcję wyboru.

2. Budowa aplikacji do wprowadzania danych – Programowanie pola listy ListBox (Formant ActiveX) – pojedyncze zaznaczenie

Nasza tabela posiada już pole listy. Pole listy domyślnie ustawione jest w sposób, by można było zaznaczyć tylko jedną opcję wyboru. Samego programowania pola dokonujemy w Edytorze VBA w obiekcie „Ten_skoroszyt„. W naszym przypadku chcielibyśmy, by w polu listy pojawiły się do wyboru wartości dotyczące kontaktu: osobisty, telefoniczny, mailowy. Zapisujemy to w następujący sposób:

With Arkusz1.ListBox1
.AddItem "Osobisty"
.AddItem "Telefoniczny"
.AddItem "Mailowy"
End With

3. Jak pobrać wartości z pola listy ListBox VBA?

W tej chwili możemy już wybrać dowolną jedną wartość z pola listy. By połączyć pole listy z naszą aplikacją do wprowadzania danych postępujemy analogicznie jak w poprzednich rozdziałach. Obiekt „Arkusz1” aktualizujemy o następującą linię kodu:

'WPROWADZANIE DANYCH
Cells(sngWiersz, 8) = ListBox1
Kurs Excel VBA - Pole Listy ListBox
Kurs Excel VBA – Pole Listy ListBox

Kod naszego programu w obiekcie Ten_skoroszyt wygląda teraz następująco:

Private Sub Workbook_Open()

With Arkusz1.ComboBox1
.AddItem "dolnośląskie"
.AddItem "kujawsko-pomorskie"
.AddItem "lubelskie"
.AddItem "lubuskie"
.AddItem "łódzkie"
.AddItem "małopolskie"
.AddItem "mazowieckie"
.AddItem "opolskie"
.AddItem "podkarpackie"
.AddItem "podlaskie"
.AddItem "pomorskie"
.AddItem "śląskie"
.AddItem "świętokrzyskie"
.AddItem "warmińsko-mazurskie"
.AddItem "wielkopolskie"
.AddItem "zachodniopomorskie"
End With

With Arkusz1.ComboBox2
Dim intLicznikBox2 As Integer
For intLicznikBox2 = 1 To 31
.AddItem intLicznikBox2
Next
End With

With Arkusz1.ComboBox3
Dim intLicznikBox3 As Integer
intLicznikBox3 = 1
While intLicznikBox3 <= 12
.AddItem intLicznikBox3
intLicznikBox3 = intLicznikBox3 + 1
Wend
End With

With Arkusz1.ComboBox4
Dim intLicznikBox4 As Integer
For intLicznikBox4 = 1980 To 2000
.AddItem intLicznikBox4
Next
End With

With Arkusz1.ListBox1
.AddItem "Osobisty"
.AddItem "Telefoniczny"
.AddItem "Mailowy"
End With

End Sub

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

2 komentarze “Kontrolki ActiveX – Pole listy ListBox w Excel VBA”