Hei,
Miten ladataan UserFormissa olevaan Comboboxiin vaihtoehtoja siten, että vaihtoehdot latautuvat samalla kun UserForm ladataan?
Minulla on makro, joka on eräässä moduulissa, ja tämän makron lopussa on rivit:
Load UserForm1
UserForm1.Show
End Sub
UserForm1:ssä on ComboBox, johon haluan ladata erilaisia arvoja. Miten saan ladattua arvoja listaan siten, että ne tulisivat jo siinä vaiheessa kun itse UserForm ladataan? Ylläolevaan koodiin lisäämällä en hommaa ole saanut toimimaan koska rivin UserForm1.Show jälkeen tämän makron ajo keskeytyy ja jatkuu seuraavalta riviltä vasta kun UserForm1 on suljettu. Load- ja Show rivien välissäkään homma ei onnistu.
Nyt onnistun lataamaan arvot vain tässä kyseisessä UserFormissa olevan olion klikkaamisella tms., vaikkapa samaisen ComboBoxin muutoksella:
Private Sub ComboBox1_Change()
For a = 0 To 4
ComboBox1.AddItem a
Next a
End Sub
Käytännössä arvot latautuvat Comboboxiin vasta kun siihen kirjoittaa jotakin, arvot eivät siis "ole valmiina". Paras vaihtoehto ladata arvot tässä kyseisessä tapauksessa olisi saada ComboBoxiin jonkin nimetyn solualueen sisältö. Onnistuisiko tämmöinen jollakin lailla?
-Pasi-
Miten ladataan UserFormissa olevaan Comboboxiin vaihtoehtoja siten, että vaihtoehdot latautuvat samalla kun UserForm ladataan?
Minulla on makro, joka on eräässä moduulissa, ja tämän makron lopussa on rivit:
Load UserForm1
UserForm1.Show
End Sub
UserForm1:ssä on ComboBox, johon haluan ladata erilaisia arvoja. Miten saan ladattua arvoja listaan siten, että ne tulisivat jo siinä vaiheessa kun itse UserForm ladataan? Ylläolevaan koodiin lisäämällä en hommaa ole saanut toimimaan koska rivin UserForm1.Show jälkeen tämän makron ajo keskeytyy ja jatkuu seuraavalta riviltä vasta kun UserForm1 on suljettu. Load- ja Show rivien välissäkään homma ei onnistu.
Nyt onnistun lataamaan arvot vain tässä kyseisessä UserFormissa olevan olion klikkaamisella tms., vaikkapa samaisen ComboBoxin muutoksella:
Private Sub ComboBox1_Change()
For a = 0 To 4
ComboBox1.AddItem a
Next a
End Sub
Käytännössä arvot latautuvat Comboboxiin vasta kun siihen kirjoittaa jotakin, arvot eivät siis "ole valmiina". Paras vaihtoehto ladata arvot tässä kyseisessä tapauksessa olisi saada ComboBoxiin jonkin nimetyn solualueen sisältö. Onnistuisiko tämmöinen jollakin lailla?
-Pasi-
Vastaukset 3
Vanhimmat
auttaisko tämä
http://www.afralisp.com/vbaa/vbatut1.htm
Private Sub UserForm_Initialize()
For a = 0 To 4
ComboBox1.AddItem a
Next a
End Sub
toimii, kiitos!
-Pasi-
on, pystyykö ComboBoxiin tuomaan useita arvoja/tietoja kerralla vai onnistuuko vain yksitellen (koskeeko List-ominaisuus vain suoraan taulukossa olevaa ComboBox ohjausobjektia)?
Eli jos minulla on taulukossa nimetty alue vaikkapa "Combo1", saanko tämän alueen sisältämät arvot ComboBoxiin jotenkin näppärämmin kuin ensin selvittämällä alueen sijainnin (alue muuttuu jatkuvasti) ja sitten lisäämällä arvot yksitellen AddItem-käskyllä (tietenkin while-loopin avulla)?
-Pasi-