< návrat zpět

MS Excel


Téma: „nájdi v Zozname a vykonaj“ rss

Zaslal/a 1.4.2013 15:09

Dobrý deň,
už asi 3-ti deň sa trápim s pochopením Cyklov no nech robím čokoľvek stále sa mi nedarí do cyklu zapracovať operácia + podmienky.

Popis požiadavky:
do Databázy za ukladajú údaje o dodávateľoch (stále do zľava najbližšieho prázdneho stĺpca)
pre načítanie údajov z Databázy chcem použiť vo Formulári „ComboBox“
zoznám v ComboBox-e je zoznám nahraných dodávateľoch v Databáze

A začína môj problém:
Keďže dodávatelia sa budú opakovať rovnako ako aj ich produkty, potrebujem do zoznamu v ComboBox-e načítať niečo ako Kontingenčnú tabuľku. myslím si, že priame použitie Kontingenčnej tabuľky nie je najšťastnejšie riešenie (treba stále aktualizovať, nejako zadať rozsah údajov ktoré má načítavať, keďže sa budú meniť, vyfiltrovať prázdne riadky,...)

Priame riešenie:
napadlo ma niečo ako „VLOOKUP“ – ak sa hodnota (Range(“A2“) v zozname (Stĺpec E) nenachádza, zadaj ju do posledného voľného riadku (ak sa v zozname už nachádza nerob nič)

Nepriame rešienie:
napadlo ma Cyklom ošetriť preverovanie Stĺpca C (v ktorom sú všetci dodávatelia – aj opakujúci sa) a nejako podmienkou
IF Range(“A2“) ????? Then Exit Sub
Range(“A2“).Value = ?????


Neviem si sať s tým poradiť. Pomóc.

Příloha: zip12595_zosit1.zip (18kB, staženo 27x)
Zaslat odpověď >

Strana:  1 2   další »
#012597
Opičák
Takže odstranit duplicity ze sloupce C a jedinečné hodnoty nacpat do sl. E ????citovat
#012598
avatar
Ahoj,
Výsledok ma byť len s jedinečnými hodnotami. Ten stĺpec C považuj za zdrojak (Databáza). Výsledok bude v stĺpci E = všetko len jedinečné hodnoty zo stĺpca C (hodnoty stĺpca C ale iba 1x zadané).citovat
#012599
Opičák
Takto ???
Příloha: zip12599_dodavatele.zip (22kB, staženo 36x)
citovat
icon #012600
eLCHa
Náhodou jsem tu nakoukl a taxe jen zeptám

@Opičák
K čemu sloučí
Bunka = Split(Bunka, " ")(0)

@Martin.B
Proč vytváříte další data na listu a nenacpete to rovnou do ComboBoxucitovat
#012605
Opičák
to eLCHa
já jsem na tuto fci excelu někde narazil v makru a zalíbila se mi 3
Ale v knihách jsem ji nikde nenašel 8

slouží k rozdělení textu když nevím kde bude mezera nebo jiný znak (datum 23.3.2013 17:34:22)
třeba u toho data
Bunka = Split(Bunka," ")
v tomto formátu mi vyhodí
Bunka(0)=datum
Bunka(1)=čas

druhý působ , dám tam ještě do závorky to co chci, takže první část řetězce až po mezeru
Bunka = Split(Bunka," ")(0) a mám jen datum

já to používám rád, připadá mi to jednoduchýcitovat
icon #012607
eLCHa
Vím k čemu slouží Split
ptám se, proč je tady ;)citovat
#012608
Opičák
3 3 ale tady neslouží k ničemu 3 3 3

zapomenuté

to MartinB
Bunka = Split(Bunka," ")
vymaž

sice tam teď nevadí, ale vadila by u nazvů firem, protože by brala jen první slovocitovat
#012609
Opičák
to eLCHa 3
tak se příště neptej k čemu slouží, ale rovnou
proč je tady ?

no nevšiml jsem si, makro jsem překopíroval a nezkontroloval 7citovat
#012611
avatar
Caute,
vymazané funguje. super
eLCHa, teraz si ma fakt dostal. A to sa dá??? > viac neskôr (step by step) 1
Ten novovzniknutý zoznám budem používať v X ďalších veciach = preto radšej nech existuje
Paralelne, kým to riešil Opičák som sa pustil do verzie s Kontingenčnou tabuľkou.

Problém mám existujúce pole zadať do „rozsahu“ pre ComboBox.
To isté ma tak či čaká v riešení od Opičáka.

Jedná sa o rozsah DL3:DL8, u ktorého logicky DL8 sa bude meniť/ zväčšovať narastaním údajov v databáze.
A tu mám problém ako dostať plavajúci pole do jeho rozsahu:
mejaká možnosť s Range (“DH1“) ktorého hodnota /Value je výsledok DL3:DL8 zo vzorca:
=CONCATENATE( “DL“ ; ROW($DL$3) ; “:“ ; COUNTA($DL:$DL)+1 )

alebo priamo premennú napr. “a“ (vo VBA už zvládnem zadefinovať) 1

ComboBox1.RowSourse =( “Deckblatt!DL3:DL8“) => to “pevné" zadanie > teda nevyhovuje
Ako pri voľbe v ComboBox-e dostanem do bunky napr. “A10“ nie Value (text ktorý je aj vo výbere) ale číslo (poradie v ktorom sa v zozname nachádza môj výber) . je mi to jasné pokiaľ ComboBox nie je súčasťou UserForm-u. ale v ňom??? 7citovat
#012617
Opičák
udělej Userform1 s Comboboxem1 a dopiš

Rem --- row source pro combobox1 ---
UserForm1.ComboBox1.RowSource = "Deckblatt!E3:E" & celkem + 2
UserForm1.Show 0
citovat

Strana:  1 2   další »

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