Miten saan Exelin VBA User Formissa toimimaan niin, että kun mulla on useampi check box, niin aina kun painaa check boxin valituksi, niin viereiseen labeliin tulee tekstiä.
Olen saanut niin että kun yhden boxin painaa valituksi, niin teksti ilmestyy labeliin, mutta ongelma ilmeneekin siinä vaiheessa kun valitsen kaksi check boxia aktiiviseksi. Kuinka saan näkymään sekä ekan boxin tekstin labelissä, sekä tokan boxin tekstin?
Esimerkkinä vaikka, että minulla on check boxeissa valittava mantereita ja haluan, että labeliin tulee näkyviin valittuun mantetereeseen kuuluvat maat. esim.
x Eurooppa -> labelissa lukee: Suomi, Ruotsi, Viro
x Aasia -> labelissa lukee sekä euroopan maat sekä aasian maat
Sekavasti selitetty, mutta toivottavasti joku edes tajusi ;)
Olen saanut niin että kun yhden boxin painaa valituksi, niin teksti ilmestyy labeliin, mutta ongelma ilmeneekin siinä vaiheessa kun valitsen kaksi check boxia aktiiviseksi. Kuinka saan näkymään sekä ekan boxin tekstin labelissä, sekä tokan boxin tekstin?
Esimerkkinä vaikka, että minulla on check boxeissa valittava mantereita ja haluan, että labeliin tulee näkyviin valittuun mantetereeseen kuuluvat maat. esim.
x Eurooppa -> labelissa lukee: Suomi, Ruotsi, Viro
x Aasia -> labelissa lukee sekä euroopan maat sekä aasian maat
Sekavasti selitetty, mutta toivottavasti joku edes tajusi ;)
Vastaukset 1
Vanhimmat
Option Explicit
Dim valitut_maat As Long
Private Sub UserForm_Initialize()
valitut_maat = 0
End Sub
Private Sub CheckBox1_Change()
If CheckBox1.Value = True Then
valitut_maat = valitut_maat 1
Else
valitut_maat = valitut_maat - 1
End If
muutateksti
End Sub
Private Sub CheckBox2_Change()
If CheckBox2.Value = True Then
valitut_maat = valitut_maat 2
Else
valitut_maat = valitut_maat - 2
End If
muutateksti
End Sub
Private Sub CheckBox3_Change()
If CheckBox3.Value = True Then
valitut_maat = valitut_maat 4
Else
valitut_maat = valitut_maat - 4
End If
muutateksti
End Sub
Sub muutateksti()
Dim s As String
If valitut_maat And 1 Then
s = "Suomi, Ruotsi, Viro"
If valitut_maat > 1 Then
s = s ", "
End If
End If
If valitut_maat And 2 Then
s = s "Kiina, Indonesia"
If valitut_maat > 3 Then
s = s ", "
End If
End If
If valitut_maat And 4 Then
s = s "Sambia, Egypti"
End If
Label1.Caption = s
End Sub