Aliohjelman käynnistys

Pasi

Hei,

miten voin käynnistää VBA:ssa jonkin koodin suorituksen toisen koodin suorituksen aikana?

Tarkoitan sitä että kun minulla on vaikkapa kaksi oliota ja tapahtumaa; CommandButton1.Click ja ComboBox1.Change, niin miten voin käynnistää CommandButton1.Click -koodissa olevalla käskyllä ComboBox1.Change -koodin suorituksen välittömästi?

Nyt teen kyseisen tempun lukemalla comboboxin arvon muistiin ja kirjoittamalla ensin comboboxiin tyhjän arvon ja edelleen äsken muistiin luetun arvon. ComboBox1.Change -ohjelman alussa koodin suoritus keskeytetään jos combon arvo on tyhjä. Toimii kyllä, mutta ei kovin fiksua...

-Pasi-

3

376

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • TSwiGH

      käy ihan vaan:
      ComboBox1.Change(kenties jotain parametria)

    • vbguru

      En ole ihan varma, mitä tarkoitit, mutta jos suunnilleen...
      Yleensäkin kannattaa tehdä siitä suoritettavasta jutusta funktio, aliohjelma, jota sitten kutsutaan milloin mistäkin, vaikka Command-painikkeesta tai ComboBoxin Change:sta.
      Eli itse nappuloihin tai muihin objekteihin ei kannata paljoa koodata, ei tarvitse toistaa samaa koodia moneen kertaan kun sen kirjoittaa funktioksi, aliohjelmaksi.
      esimerkissä funktiota "tulosta" kutsutaan aina kun Combo1 arvo muuttuu, paitsi jos se on tyhjä,
      ja Command1-painikkeella kutsutaan samaa funktiota.

      Function tulosta()
      Label1.Caption = Combo1.Text
      End Function

      Private Sub Combo1_Change()
      If Combo1.Text "" Then Call tulosta
      End Sub

      Private Sub Command1_Click()
      Call tulosta
      End Sub

      • Pasi

        vastasit juuri siihen mitä tarkoitinkin, kiitos!

        -Pasi-


    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
      3017
    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
      1684
    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
      38
      1252
    10. Lähtikö korvat

      puhtaaksi vaikusta?
      Tuusniemi
      79
      1080
    Aihe