< návrat zpět

MS Excel


Téma: ActiveX - prvek ComboBox rss

Zaslal/a 10.1.2020 7:49

Dobrý den,

prosím o pomoc jak vložit do ActiveX do prvku ComboBox do vlastností ListFillRange - Tabulku2 i s pojmenovanou oblastí.

Umím to udělat s klasickým rozevíracím seznamem i s NEPŘÍMÝ.ODKAZ na buňku, aby mi vyjížděly značky aut podle výrobce.

Rád bych to samé uměl i s vloženým prvkem ActiveX - ComboBox.

Přikládám soubor.

Děkuji za rady.

OB 1

Příloha: xlsx45531_activex_combobox.xlsx (0kB, staženo 34x)
Zaslat odpověď >

Strana:  « předchozí  1 2 3
#045620
avatar
Jsem vedle jak ta jedle. Pořád dávám kód viz níže a nefunguje to...

Private Sub ComboBox2_Change()

Worksheets("menu").ComboBox2.ListFillRange = ComboBox1.Value

End Subcitovat
#045621
elninoslov
Môžete to urobiť aj takto nejako. Len tak v rýchlosti, testoval som to minimálne.
Příloha: zip45621_activex_combobox20200116.zip (25kB, staženo 23x)
citovat
#045623
avatar
Funguje 1 . Poslední přání, aby se hodnota v ComboBoxu2 objevila (E6), až ji vyberu v ComboBoxu2 a ne automaticky po výběru v ComboBoxu1.citovat
#045632
elninoslov
Tak ono by sa to dalo skrátiť aj takto:
Private Sub cbVyrobce_Change()
Dim ADR As String

On Error Resume Next
If WorksheetFunction.CountIf(wsData.Range("MODEL"), Range("E6").Value) = 0 Then ADR = "=vstupni_data!" & wsData.Range("MODEL").Address
cbModel.ListFillRange = ADR
Range("E6").ClearContents
End Sub
citovat
#045634
avatar
Můžete mi vysvětlit, jakým "kouzlem" měníte oblast MODEL? Nikde to nevidím.citovat
#045635
elninoslov
Ešte to skrátime:
Private Sub cbVyrobce_Change()
Dim ADR As String

On Error Resume Next
ADR = "=vstupni_data!" & wsData.Range("MODEL").Address
cbModel.ListFillRange = ADR
Range("E6").ClearContents
End Sub

Definovaný názov MODEL obsahuje odkaz na správnu oblasť modelov podľa vybraného výrobcu. Je to zabezpečené pomocou OFFSET/POSUN a MATCH/POZVYHLEDAT.
Pri zmene výrobcu, alebo jeho vynulovaní, dôjde k tomu že sa do premennej ADR pokúsi priradiť adresu správnej oblasti MODEL. Ak nastane chyba (výrobca je prázdny, alebo bez modelu,...) ADR bude "". Teda sa zoznam v cbModel vlastne vynuluje. Ak ale bude výrobca validný, tak sa do cbModel načíta správna oblasť. Prípadná predchádzajúca hodnota v cbModel sa vymaže pomocou ClearContents na jej prepojenej bunke.citovat
#045636
avatar
Definovaný názov MODEL obsahuje odkaz na správnu oblasť modelov podľa vybraného výrobcu.
Je to zabezpečené pomocou OFFSET/POSUN a MATCH/POZVYHLEDAT...


Ano, to jsem pochopil, ale já jsem potřeboval vidět to "MODEL = POSUN(...." a nikde jsem to v makru nenašel. Proto jsem se ptal na to, "jakým kouzlem" správného nastavení docílíte. Až teď mě napadlo, že to je přímo přes "Definovaný název" 1citovat
#045637
avatar
Omlouvám se za návrat v čase, ale nedá mi to nereagovat:

OB napsal/a:

Jsem vedle jak ta jedle. Pořád dávám kód viz níže a nefunguje to...
Private Sub ComboBox2_Change()
Worksheets("menu").ComboBox2.ListFillRange = ComboBox1.Value
End Sub

Samozřejmě, že to nefunguje, proto jsem také napsal: "Bacha při opisování 1 a 2.
Příkaz je napsaný dobře, ale má být v proceduře ComboBox1_Change a ne v ComboBox2_Change()citovat

Strana:  « předchozí  1 2 3

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje