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

273

    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. Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa

      En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod
      Ikävä
      22
      5124
    2. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      25
      4278
    3. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      27
      2441
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      34
      2234
    5. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      1988
    6. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      15
      1908
    7. En ole koskaan kokenut

      Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka
      Ikävä
      19
      1587
    8. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      12
      1521
    9. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      21
      1237
    10. Kerranki asiat oikein

      Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa
      Haapavesi
      10
      1164
    Aihe