Kontrolki ActiveX – Przycisk polecenia CommandButton w Excel VBA

1. Budowa aplikacji do wprowadzania danych – Wstawianie Przycisku polecenia – CommandButton (Formant ActiveX) 

Przycisk polecenia jest już nam znany. W najprostszej formie będzie nam służył do uruchamiania napisanych skryptów. Przycisk polecenia możemy osadzić zarówno w arkuszu Excela, jak i w formularzu UserForm. Jak wstawić przycisk polecenia CommandButton? Wchodzimy kolejno w zakładkę Developer, następnie wstaw Formanty ActiveX i wybieramy przycisk polecenia. Analogicznie postępujemy w przypadku formularza UserForm. Z okna ToolBox wybieramy kontrolkę CommandButton. W tym momencie nasza aplikacja zawiera jeden przycisk CommandButton o nazwie Wprowadź. Chcemy stworzyć kolejny przycisk służący do czyszczenia danych w formularzu. Wstawmy do naszego formularza drugi przycisk ActiveX – CommandButton. We właściwościach zmieńmy wartość w polu Caption na „Wyczyść”.

Kurs Excel VBA - Przycisk polecenia CommandButton
Kurs Excel VBA – Przycisk polecenia CommandButton

2. Budowa aplikacji do wprowadzania danych – Programowanie przycisku polecenia CommandButton (Formant ActiveX) 

Przycisk programujemy klikając na niego dwukrotnie w trybie projektowania. Kod edytujemy w kodzie obiektu arkusza. W naszym wypadku będzie to Arkusz1. Dla naszego przycisku tworzymy kod kasujący wszystkie dane obecne w polach TextBox, ComboBox, OptionButton i CheckBox. Kod wygląda następująco:

Private Sub CommandButton2_Click()
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""

ComboBox1 = ""
ComboBox2 = ""
ComboBox3 = ""
ComboBox4 = ""

ListBox1 = ""

OptionButton1 = False
OptionButton2 = False

CheckBox1 = False

End Sub

W ten sposób zaprogramowałeś przycisk czyszczący dane w naszym formularzu. Kod programu w obiekcie Arkusz1 wygląda następująco:

Private Sub CommandButton1_Click()

Dim sngId As Single
Dim sngWiersz As Single
Dim sngLoginLicznik As Single

'WYBIERANIE OSTATNIEGO NIEZAPISANEGO WIERSZA I NADAWANIE ID
sngId = 1 + Application.WorksheetFunction.Max(Range("A:A"))
sngWiersz = 6 + Application.WorksheetFunction.CountA(Range("A:A"))

'SPRAWDZANIE LOGINU
sngLoginLicznik = 7

Do While sngLoginLicznik <= sngWiersz

If Cells(sngLoginLicznik, 2) = LCase(TextBox1) Then
MsgBox "Ten login znajduje się już w bazie, wprowadź inny", vbCritical
GoTo endlabel
End If

sngLoginLicznik = sngLoginLicznik + 1
Loop

'WPROWADZANIE DANYCH
Cells(sngWiersz, 1) = sngId
Cells(sngWiersz, 2) = LCase(TextBox1)
Cells(sngWiersz, 3) = UCase(Left(TextBox2, 1)) & LCase(Mid(TextBox2, 2))
Cells(sngWiersz, 4) = StrConv(TextBox3, vbProperCase)
Cells(sngWiersz, 5) = LCase(TextBox4)
Cells(sngWiersz, 6) = ComboBox1
Cells(sngWiersz, 7) = DateSerial(ComboBox4, ComboBox3, ComboBox2)
Cells(sngWiersz, 8) = ListBox1

If OptionButton1 = True Then
Cells(sngWiersz, 9) = "Kobieta"
ElseIf OptionButton2 = True Then
Cells(sngWiersz, 9) = "Mężczyzna"
Else: Cells(sngWiersz, 9) = ""
End If

If CheckBox1 = True Then
Cells(sngWiersz, 10) = "Tak"
Else: Cells(sngWiersz, 10) = "Nie"
End If
endlabel:
End Sub

Private Sub CommandButton2_Click()

'KASOWANIE DANYCH Z FORMULARZA
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""

ComboBox1 = ""
ComboBox2 = ""
ComboBox3 = ""
ComboBox4 = ""

ListBox1 = ""

OptionButton1 = False
OptionButton2 = False

CheckBox1 = False

End Sub

Dodaj komentarz

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

3 komentarze “Kontrolki ActiveX – Przycisk polecenia CommandButton w Excel VBA”