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

314

    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. Lopetin kokonaan ravintoloissa ruokailun ja juomisen

      Ravintoloissa hinnat ovat aivan naurettava korkealla. Alkoholin juomisessa ravintoloissa ei ole senkään vertaa järkeä.
      Maailman menoa
      171
      2636
    2. Omakotitalossa väkivaltaa ounasrinteellä

      Kertoo iltalehdet Mitä lienee Tapahtui. Verinen ihminen kannettu lanssiin
      Rovaniemi
      22
      2274
    3. kukaan ei pakota kasteeseen..

      Kommentointi estetty, joten kommentoin tähän.Kukaan ei pakota pakkokasteesta puhuvaa kastamaan lastansa.Noloa edes ehdot
      Kaste
      400
      1075
    4. Mari Rantanen eroa! Lausunnot vapun pahoinpitelystä ovat järkyttäviä!

      Poliisiministerin, eli sisäministeri Mari Rantasen on syytä erota!
      Maailman menoa
      154
      984
    5. Anabaptismin kirous

      Uudestikastetut lahkolaiset joutuvat valheen kierteeseen. He joutuvat herjaamaan lapsena saamaanssa kastetta nimeen Isä
      Kaste
      392
      891
    6. Kai odotan että

      Juokset vielä perässäni
      Ikävä
      67
      888
    7. Mitä ikävöit eniten

      kaivatussasi? 🫶
      Ikävä
      62
      847
    8. Kerrohan T miehelle yksi syy

      Miksi hänen tulisi kaivata sinua?
      Ikävä
      101
      753
    9. Rakas, haluan sut niin hulluna kuin olet, tiedän jo sun pakkomielteet ja muut jutut, ihana naiseni

      Kunhan et minun takia satuta itseäsi tai muita, minulla nyt ole niin väliä. Rakas mä ymmärrän ja näen kaiken, sun suure
      Ikävä
      48
      714
    10. Euroviisuhuitelua

      En ole koko viisuista kiinnostunut enkä aio edes katsoa kisoja. Ihmetyttää tämä vouhkaaminen laulaja pariskunnasta joka
      80 plus
      34
      682
    Aihe