Stránka 1 z 1

Seznam v ComboBox Excel

Napsal: 27 úno 2012 07:46
od cmuch
Ahoj,
nevím si rady s vložením seznamu z List2 B2:B15 do comboboxu .
Nyní mám

Kód: Vybrat vše

Private Sub ComboBox1_DropButtonClick()

  ComboBox1.List() = Array("Hodnota1", "Hodnota2", "Hodnota3", "Hodnota4")

End Sub


Já jen jestli lze tam dát oblast nebo hodnoty budu muset zapisovat tak jak je mám teď.

Děkuji

Re: Seznam v ComboBox Excel

Napsal: 27 úno 2012 09:52
od Azuzula
Označte prvek a na kartě vývojář klikněte na tlačítko vlastnosti. Otevře se okno "Properties" a v řádku "ListFillRange" zapište "List2!B2:B15" bez uvozovek. V řádku LinkedCell můžete zadat propojenou buňku kam se bude výběr zapisovat.

Re: Seznam v ComboBox Excel

Napsal: 27 úno 2012 18:32
od cmuch
Děkuji, to je výborné.
Ještě bych měl dva dotazy.
    1. šlo by nějak udělat (jednoduššeji než mám já) aby to tu oblast rozšiřovalo automaticky? Když přidám řádek do svého seznamu aby se tam automaticky objevil po rozkliknutí.
    Teď jsem toho docílil tak že mám v jedné buňce uděláno pomocí vzorců setavení oblasti List2!B2:B15 kde to konečné číslo se mění podle toho kolik je řádků v seznamu.
A do seznamu to dosávám takto

Kód: Vybrat vše

Private Sub ComboBox1_DropButtonClick()

ComboBox1.ListFillRange = Sheets(1).Range("J7")

End Sub

2. a jestli lze třeba vynechávat zobrazení prázdných buněk

Re: Seznam v ComboBox Excel

Napsal: 28 úno 2012 16:18
od cmuch
Tak jsem to pořešil takto (automatická velikost oblasti).
To vynechávání prázdných buněk nevím, a nevím ani jak to funguje přes ověření dat, tam se mi to také nedaří alespoň na ukázku rozchodit.

Kód: Vybrat vše

Private Sub ComboBox1_DropButtonClick()

Dim wsh As Worksheet

Set wsh = ThisWorkbook.Worksheets("List2")
   
    ComboBox1.ListFillRange = wsh.Name & "!B2:B" & wsh.Cells(Rows.Count, "B").End(xlUp).Row

End Sub

Re: Seznam v ComboBox Excel

Napsal: 28 úno 2012 19:55
od Azuzula
Na automatické zvětšování výběru v comboboxu z active-x jsem nepřišla, proto bych spíš použila seznam v Ověření dat se vzorcem =POSUN(A2;0;0;POČET2($A:$A)-1;1), nebo dala data do tabulky.
Nebo další možnost rozevírací seznam z Ovládacích prvků formuláře a data do tabulky, potom se to taky automaticky zvětšuje.

Re: Seznam v ComboBox Excel

Napsal: 29 úno 2012 19:18
od cmuch
Ta automatická velikost v comboxu je v mém předchozím příspěvku.
přes ověření dat jsem to měl původně takto =NEPŘÍMÝ.ODKAZ("List2!$B$1:$B"&(COUNTBLANK(List2!$BB:$BB)-COUNTBLANK(List2!$B:$B))),
ale to tvoje řešení je taky dobré, takové jednodušší =POSUN(List2!B2;0;0;POČET2(List2!$A:$A)-1;1)
Jenže to jsem zrušil a přešel na combobox aby byla vidět šipka :smile:
A v rozevíracím seznamu z Ovládacích prvků formuláře nevím jak tam udělat to rozšiřování oblasti.

Re: Seznam v ComboBox Excel

Napsal: 29 úno 2012 19:41
od Azuzula
když budou data v tabulce, tak se ten seznam bude zvětšovat s tou tabulkou
Sešit1.xls
(26 KiB) Staženo 201 x

Re: Seznam v ComboBox Excel

Napsal: 29 úno 2012 21:00
od cmuch
Tak přes tu tabulku je to úplně jednoduché, to jsem ještě nezkoušel.

A ještě by mě zajímalo jak funguje to vynechávání prázdných buněk seznamu v ověření dat.
A pak vím o rozevíracích seznamech snad vše :D

Re: Seznam v ComboBox Excel

Napsal: 29 úno 2012 21:25
od Azuzula
To vynechání prázdných buněk v Ověření dat mi taky nefunguje, možná v tom bude zase nějaký fígl a nebo to má Mrkvosoft prostě blbě :-D