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

390

    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. Valtion alijäämä = yritystukien määrä = 10 mrd. euroa

      Mutta persut eivät vaan suostu tasapainottamaan valtion budjettia, vaikka yritystuet on tiedetty haitallisiksi. Miksi p
      Maailman menoa
      108
      7745
    2. Suomi käyttää sosiaalietuuksiin suhteessa eniten rahaa koko maailmassa

      Suomi käyttää sosiaaliturvaetuuksiin enemmän rahaa suhteessa bruttokansantuotteeseen kuin mikään muu maa maailmassa. Su
      Maailman menoa
      368
      6830
    3. Grahn-Laasonen: "Kansalainen joutuu pettymään, jos demareita äänestää"

      Ministeri viittaa tuoreeseen Helsingin Sanomien juttuun, jossa demarijohtajan keinoja Suomen suunnan muuttamiseksi esite
      Maailman menoa
      74
      4207
    4. Vähän fiksumpi Nimi kisa ? :=)

      Kirjoita teidän etunimet allekkain. Jos nimissä on joku kirjain sama, poista se. Tee sama tarkistus kaikille kirjaimill
      Ikävä
      29
      3919
    5. Mikä on suurin luonne- eroavuus sinussa

      Ja kaivatussasi? Vaikuttaako se huonoon vai hyvään suuntaan siinä, että teistä voisi tulla jotain?
      Ikävä
      202
      2398
    6. Kenen haluaisit voittavan Amazing Racen: Tuomas ja Esko, Millu ja Karoliina vai Maria ja Vilma?

      Amazing Race Suomi huipentuu lauantaina finaaliin. Jäljellä on kolme paria ja tiedossa on tehtäviä, jotka järkyttävät os
      Tv-sarjat
      24
      2095
    7. Mitä haluaisit sanoa tänään hänelle?

      Rakastamallesi ihmiselle.
      Ikävä
      73
      1912
    8. Gallup: Katsotko Salkkareita tai oletko katsonut?

      Salatut elämät on suomalaisten suosikkisarja vuosikymmenestä toiseen. Salkkareiden parissa viettää aikaa sukupolvet laps
      Tv-sarjat
      19
      1803
    9. Elämäni biisi starttaa uudessa muodossa - Voi olla pettymys faneille!

      Elämäni biisi ja juontaja Katja Ståhl ovat suomalaisten suosikkeja. Lauantai-iltaisin ohjelma on vetänyt tv-katsojat arv
      Tv-sarjat
      1
      1670
    10. Amazing Race Tomas rehellisenä Esko-appiukon, 63, tilasta: "Sairastelut ja..."

      Tomas Grekov ja Esko Rotola-Pukkila ovat mukana Amazing Race Suomi -kisassa. Ja nyt vuorossa on finaali. Hankaluuksia m
      Tv-sarjat
      1
      1667
    Aihe