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 4
Vanhimmat
Private Sub ChkEurooppa_Click()
TäytäLista
End Sub
Private Sub ChkAasia_Click()
TäytäLista
End Sub
Private Sub ChkAfrikka_Click()
TäytäLista
End Sub
Sub TäytäLista()
Dim MaatEurooppa As String, MaatAasia As String, MaatAfrikka As String, Maat As String
If ChkEurooppa = True Then MaatEurooppa = "Suomi, Ruotsi, Viro"
If ChkEurooppa = False Then MaatEurooppa = Empty
If ChkAasia = True Then MaatAasia = "Venäjä, Japani"
If ChkAasia = False Then MaatAasia = Empty
If ChkAfrikka = True Then MaatAfrikka = "Somalia, Etiopia"
If ChkAfrikka = False Then MaatAfrikka = Empty
Maat = MaatEurooppa
If ChkEurooppa = True And ChkAasia = True Then Maat = Maat & ", "
Maat = Maat & MaatAasia
If ChkEurooppa = True And ChkAfrikka = True Then
Maat = Maat & ", "
ElseIf ChkAasia = True And ChkAfrikka = True Then
Maat = Maat & ", "
End If
Maat = Maat & MaatAfrikka
LblMaat = Maat
End Sub
Noin onnistuu, helpompi olisi tosin tehdä siten että jokaisella ChkBoxilla olisi oma Labelinsa.
-Pasi-
kiitos, sain sen tällä toimimaan oikein hyvin.
Nyt ilmeni uusi ongelma. Maita tuli labeliin niin paljon, että tarttisi saada toimiva vierityspalkki jotta kaikki maat näkyisi.
Oon ihan käsi tän VBA:n kanssa. Osaisko kukaan jelppiä miten saan vierityspalkin toimimaan? Sain kyllä lisättyä itse palkin mutta toimintaa en vaan saa aikaseks.
Terve,
käytä labelin sijaan TextBoxia ja tämän ominaisuuksista etsit "ScrollBars" ja valitset sieltä vaikka vaihtoehdon "2 - fmScrollBarsVertical".
Nyt vierityspalkki pitäisi ilmestyä näkyviin jos tekstin määrä niin edellyttää.
-Pasi-