VBA User Form ja CheckBoxit

grunz

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 ;)

1

279

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • vb2005

      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

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      43
      3007
    2. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      61
      2961
    3. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      42
      2367
    4. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      31
      1863
    5. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      25
      1719
    6. Anne Kukkohovin karmeat velat ovat Suomessa.

      Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa
      Kotimaiset julkkisjuorut
      72
      1674
    7. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      48
      1586
    8. Mihin hävisi

      Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä
      Iisalmi
      77
      1275
    9. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      37
      1247
    10. Lähtikö korvat

      puhtaaksi vaikusta?
      Tuusniemi
      79
      1070
    Aihe