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-
Aliohjelman käynnistys
3
379
Vastaukset
- 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
Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?
Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k1284496- 1553769
SDP haluaa 40 000 nettomaahanmuuttajaa
SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah1033506Mikä tuota vasemmistolaisista jankkaavaa vaivaa?
Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia412859- 1361806
Nyt meni lopulliset lämmöt.
Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta381602Orpo loukkaantui fasismiin viittaavasta sanavalinnasta
Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk251258Sulla on avaimet ja keinot
Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi211231Meitä ei tule
Koska periaatteemme ovat rakkautta vahvempia. Tämä on siis koettelemus, jonka tarkoitus on vahvistaa meitä yksilöinä 😌231173Onko erityinen paikka jossa haluaisit nyt olla
Onko joku spesiaali lempipaikka missä mieluiten olisit?421165