Stránka 1 z 1

Excel 2003 - seznam bez opakujících se hodnot (UserForm)  Vyřešeno

Napsal: 11 led 2011 17:00
od George.K
Zdravím
potřeboval bych poradit jak na následující problém:
Ve formuláři mám ComboBox, který je propojen s dynamickou oblastí "jmena".

Potřebuji ale aby se mi nezobrazovaly duplicity a fungovalo to jako "našeptávač".
Pišu do ComboBoxu jméno a pokud už je v dané oblasti podobné/stejné, navrhuje mi co bych mohl napsat (jako Google :smile: )
Jméno pak tlačítkem "OK" na furmuláři zapíšu do poslední volné buňky (řádku) oblasti "jmena".
(Zjednodušené podání situace).
Pokud by nešel "našeptávač" vyřešit, tak alespoň jak odfiltrovat duplicity.

Pro začátek bych raději nějakou radu (odkazy) než hotové řešení, i když ho možná později budu potřebovat :idea:
Díky.

Re: Excel 2003 - seznam bez opakujících se hodnot (UserForm)

Napsal: 11 led 2011 18:07
od navstevnik
Pro vytvoreni unikatniho seznamu pouzij Rozsireny filtr - Kopirovat jinam bez duplicit, seznam s hlavickou setridit a na tento seznam (definovat jako dynamickou pojmenovanou oblast, napr.: jmena1 =POSUN(List1!$A$1;0;0;POČET2(List1!$A:$A);1) ) v ComboBoxu - RowSource odkazovat (pri inicializaci UserFormu zavolat Rozsireny filtr - pouzit vychozi dynamickou pojmenovanou oblast (jmena) pro Oblast seznamu - a setridit s vyuzitim pojmenovane oblasti jmena1), v ComboBoxu vlastnost MatchEntry nastavit na: 1 - fmMatchEntryComplete - defaultni.
Tlacitkem OK pak pridat na konec vychoziho seznamu hodnotu z ComboBoxu.

Re: Excel 2003 - seznam bez opakujících se hodnot (UserForm)

Napsal: 11 led 2011 18:46
od George.K
Díky navstevniku :-)
potřeboval bych trochu doplnit tvůj "návod"

Pro vytvoreni unikatniho seznamu pouzij Rozsireny filtr - Kopirovat jinam bez duplicit, seznam s hlavickou setridit a na tento seznam (definovat jako dynamickou pojmenovanou oblast, napr.: jmena1 =POSUN(List1!$A$1;0;0;POČET2(List1!$A:$A);1) ) - jasné, hotovo

část2
v ComboBoxu - RowSource odkazovat (pri inicializaci UserFormu zavolat Rozsireny filtr - pouzit vychozi dynamickou pojmenovanou oblast (jmena) pro Oblast seznamu - a setridit s vyuzitim pojmenovane oblasti jmena1), - tady se trochu ztrácím, mohl bys to rozdělit na logické části?
(jmena setřídit s využitím jmena1?)


v ComboBoxu vlastnost MatchEntry nastavit na: 1 - fmMatchEntryComplete - defaultni. - tohle by bylo taky jasné
Tlacitkem OK pak pridat na konec vychoziho seznamu hodnotu z ComboBoxu - OK
**************EDIT*********************

po několikerém přečtení jsem na to (asi) přišel :-)
tenhle kod při inicializaci UserFormu

Kód: Vybrat vše

Range("jmena").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Columns("B:B"), Unique:=True

kde ve sloupci bude oblast jmena1 a dál už to funguje i s "našeptáváním" :-)
předpokládám, že tohle jsi myslel v části 2

Re: Excel 2003 - seznam bez opakujících se hodnot (UserForm)

Napsal: 11 led 2011 21:16
od navstevnik
Projdi si prilozeny soubor.

Re: Excel 2003 - seznam bez opakujících se hodnot (UserForm)

Napsal: 11 led 2011 22:01
od George.K
Na setřídění jmena1 jsem zapomněl :-)
Díky za doplnění.