Taul1:ssä esim. 20 ComboBoxia. Kuinka saadaan kaikkiin compoihin sama lista lyhyemmällä koodilla, ettei tarvi jokaista compoa erikseen määritellä samoilla listakohteilla? (Alla esimerkki). For...Next?
With Taul1.ComboBox1
    .AddItem ("Yksi")
    .AddItem ("Kaksi")
....jne....
End With
With Taul1.ComboBox2
    .AddItem ("Yksi")
    .AddItem ("Kaksi") 
....jne.......
Kiitos!
Sama lista useisiin ComboBoxeihin VBA:lla?
4
99
Vastaukset
- vaihda taulukon nimi sopivaksi ja luetteloalue nyt A1:AXXXXXX 
 Option Explicit
 Sub Täytä()
 Dim OLEobj As Object
 Dim Lista As Variant
 Lista = Sheets("Sheet1").Range("A1", Sheets("Sheet1").Range("A65536").End(xlUp))
 For Each OLEobj In ActiveSheet.OLEObjects
 If TypeName(OLEobj.Object) = "ComboBox" Then
 OLEobj.Object.List = Lista
 End If
 Next OLEobj
 End Sub
 Keep EXCELing
 @Kunde
- ExcelssonKiitos paljon! 
 Sain toimimaan seuraavalla muutoksella. Compokohteet sijaitsevat B50:B60.
 Lista = Sheets("Sheet1").Range("B50:B60")
 Alkuperäinen pätkä:
 Lista = Sheets("Sheet1").Range("B50", Sheets("Sheet1").Range("B60").End(xlUp))
 ..listaa vain rivit B49:B50, eli yhtä riviä liian ylhäältä ja vain kaksi kohdetta.
 Käytössäni on Excel 2003 versio, olisiko sillä vaikutusta asiaan?
 Tietysti nyt kaikkissa taulukon kompoissa on sama lista ja taulukossa on kaksi muuta compolistaa, mutta ne määritellään nyt erikseen käyttäen ensin .Clear toimintoa :)
 Pistän haastetta :) Kuinka määritellään sitten useampi comporyhmä eri listoilla? Eli compot 1-10 Lista1, compot 11-20 Lista2, compot 21-30 Lista3 jne...- Alkuperäinen pätkä: 
 Lista = Sheets("Sheet1").Range("B50", Sheets("Sheet1").Range("B60").End(xlUp))
 ..listaa vain rivit B49:B50, eli yhtä riviä liian ylhäältä ja vain kaksi kohdetta.
 Käytössäni on Excel 2003 versio, olisiko sillä vaikutusta asiaan?
 EI
 Sheets("Sheet1").Range("B60").End(xlUp)
 ko. koodin pätkä valitsee solun B49 eli sinulla on solussa B49 joku arvo jolloin valinnaksi tulee koodissa Lista = Sheets("Sheet1").Range("B50", Sheets("Sheet1").Range("B60").End(xlUp)) B50:B49...
 eli muutat sitä arvoa B61 tai tarpeeksi kauaksi. Tietenkin jos sulla listat allekkain silloin ainut keino on hard codeta ne tyyliin Lista = Sheets("Sheet1").Range("B50:B60") kuten olet tehnyt
 no haasteeseen sitten...
 ei siinä tartte kummosta lisäystä
 Option Explicit
 Sub Täytä()
 Dim OLEobj As Object
 Dim Lista1 As Variant
 Dim Lista2 As Variant
 Dim Lista3 As Variant
 Lista1 = Sheets("Sheet1").Range("B50", Sheets("Sheet1").Range("B600").End(xlUp))
 Lista2 = Sheets("Sheet1").Range("C50", Sheets("Sheet1").Range("C600").End(xlUp))
 Lista3 = Sheets("Sheet1").Range("D50", Sheets("Sheet1").Range("D600").End(xlUp))
 For Each OLEobj In ActiveSheet.OLEObjects
 If TypeName(OLEobj.Object) = "ComboBox" Then
 Select Case Mid(OLEobj.Name, 9)
 Case 1 To 10
 OLEobj.Object.List = Lista1
 Case 11 To 20
 OLEobj.Object.List = Lista2
 Case 21 To 30
 OLEobj.Object.List = Lista3
 End Select
 End If
 Next OLEobj
 End Sub
 keep EXCELing
 @Kunde
 
- ExcelssonKolahti :) 
 Kiitos!
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- Päivän Sanna: Nvidia sijoittaa miljardi dollaria Nokian osakkeisiinNvidia merkitsee osakkeet 6,01 Yhdysvaltain dollarin osakekohtaisella merkintähinnalla tavanomaisten toteutumisehtojen t265117
- Palkansaajilta kupattiin 27,5 mrd euroa työeläkkeisiinJo pelkän himmelin toimintakulut olivat 400 miljoonaa euroa, jolla olisi mukavasti tuottanut myös sote-palveluja hyvinvo643035
- Suomessa Pohjoismaiden tyhmimmät demarit......aijaijai..Lasse Lehtinen sanoo suoraan, että Ruotsissa on fiksummat demarit kuin Suomessa. Ja Tampereella fiksummat demut kuin Hel122920
- HS: persujen v. 2015 turvapaikanhakijoista alle puolet töissäAikuisina Suomeen tulleista ja myönteisen päätöksen saaneista vain 42 prosenttia oli vuonna 2023 töissä, vaikka he ovat1432831
- Nepotismi jytkyttää porvaristossaTaas uutisoidaan, että useampi perussuomalainen kansanedustaja on palkannut oman perheenjäsenensä eduskunta-avustajaksi181607
- Persut muuten hyväksyvät 2 + 8 mrd. euron maatalous- ja yritystuetVaikka molemmat tukimuodot tiedetään haitallisiksi, koska ovat käytännössä pelkkää säilyttävää tukea, eivätkä kannusta k861580
- Martina Aitolehti podcastissa: EroMartina Aitolehti podcastissa: Ero Martina Aitolehti kertoi BFF-podcastin https://www.iltalehti.fi/viihdeuutiset/a/6962271536
- Kaikki ovat syntisiä!!!Näin täällä koko ajan vakuutellaan uskovaisten toimesta. Myös Päivi Räsänen on toistanut tätä samaa matraa jatkuvasti. N4111236
- 681120
- Persut palkkaavat verorahoillaavustajikseen lapsiaan ja naisystäviään. Juuso on palkannut avustajakseen oman poikansa. Hänen koulutustaustastaan ei2201005