< návrat zpět

MS Excel


Téma: rozbalovací zoznam podmienený overením údajov rss

Zaslal/a 9.9.2018 0:03

A keď som dnes ( vlastne už včera ) už taký smelý :-), poprosím ešte o 1 radu:
Mám v bunke overenie údajov cez rozbalovací zoznam. Je možné výberom hodnoty v tomto zozname otvoriť iný zoznam, z ktorého si vyberiem hodnotu a tá sa mi zapíše do tejto ( aktívnej ) bunky? ( resp. prepíše aktuálnu hodnotu zadanú z toho rozbalovacieho zoznamu - bunka A2 až A10 )
Napr. Overenie údajov - hodnoty: farba, tvar, veľkosť
zoznamy: červená, zelená, modrá / kruh, štvorec, trojuholník / malý, stredný, veľký.
Na výsledné hodnoty v bunke sú naviazané ďalšie vzorce a položiek v zozname je viac, takže 1 rozbaľovací zoznam by bol moc veľký a neprehľadný.
Súbor so zoznamami a overením údajov som nachystal ( v prílohe )
Ďakujem

Příloha: zip41437_rozbalovaci_zoznam.zip (14kB, staženo 53x)
Zaslat odpověď >

Strana:  1 2   další »
#041438
avatar
Nastuduj si problematiku propojených závislých seznamů v Excelu. Google ti nabídne spoustu řešení a příkladů.

Řešení to bude ve dvou sloupcích, v prvním sloupci vybereš hlavní kategorii, a ve druhém se ti pak automaticky dle tohoto výběru nastaví předvolené možnosti.
P.citovat
#041439
avatar
Hej, spraviť to do 2 zoznamov v 2 bunkách problém nie je, to by som hravo zvládol. Lenže to potrebujem z dôvodu úspory miesta ( pridanie každého ďalšieho stĺpca mi robí problém pri tlači pri napasovaní na šírku strany. Text je potom moc malý a nečitateľný. ) spraviť do jednej bunky, a na toto riešenie som zatiaľ neprišiel. Ide tam o zadanie práce, neprítomnosti v práci z fondu PČ, neprítomnisti mimo fondu PČ, náhradného voľna a pracovnej pohotovosti. Každá z týchto kategórií má niekoľko možností, napr. neprítomnosť z fondu PČ: dovolenka, lekár, ošetrovanie člena rodiny atď.... Do tej bunky v evidencii dochádzky teda potrebujem dostať, čo som v konkrétny deň vykonával. A o to, aby to bolo na zadávanie čo najjednoduchšie. Preto sú na to 2 bunky v tomto prípade veľa.
Gúgl prehľadávam stále ( ohľado tohoto včera 6 hodín :-) ) a až keď nič nenájdem, prosím o radu. Ale ďakujem aj tak za odpoveď.citovat
#041443
avatar
Extra jsem to nestudoval, ale vy se bojíte vytvářet zdroje pro závislé seznamy na listu, protože se vám nehodí do tisku? A tisková oblast vám něco říká? Sloupce můžete skrývat, zdroje mohou být na jiném listu atd.citovat
#041445
elninoslov
Pravé tlačítko a vlastné PopUp Menu ?
Příloha: zip41445_rozbalovaci-zoznam-ako-popup-menu.zip (22kB, staženo 151x)
citovat
#041450
avatar
Ďakujem elninoslov, presne tak som si to predstavoval. Potreboval som síce ako výslednú hodnotu konečný údaj z posledného zoznamu a nie celú cestu k nemu, ale to som zvládol zmeniť. Dalo mi trošku roboty, kým som to prehodil do môjho súboru tak, aby to fungovalo, ale podarilo sa.
Nemám slov. Ste tu proste borci!
A že som tak smelý - bolo by k tomu možné pridať ešte jednu vec?
Obsah v hárku "údaje" v stĺpcoch B,C a D bude konštantný, ale do stĺpca A bude možné dopĺňať údaje a zoznam tak bude narastať. Ideálnejšie by však bolo, keby to šlo nasledovne:
V hárku "rozbalovací zoznam", resp. v inom ( bude ich takých 12, čiže skôr by som mal napísať "v aktívnom hárku" ) budem zadávať, resp. vyberať zo zoznamu údaj. Ak sa tam však nebude nachádzať, vpíšem ho tam ručne. Tento vpísaný údaj by sa automaticky, pokiaľ sa nenachádza v hárku "údaje" a zároveň neobsahuje výraz "služobná cesta - " zapísal do prvej prázdnej bunky v hárku "údaje" v stĺpci "A" ( v tomto prípade teda do bunky "A5" ) a tým pádom by už bol súčasťou zoznamu. To by bolo úplne luxusné riešenie.
Každopádne to idem skúsiť spraviť aj sám. Len či sa mi to podarí? :-)
Ď A K U J E M!citovat
#041471
elninoslov
"Iba jedna vec" - zdá sa Vám to stále iba "iba" ?
Je to podstatne zložitejšie.
Příloha: zip41471_rozbalovaci-zoznam-ako-popup-menu.zip (35kB, staženo 74x)
citovat
#041481
avatar
Trošku nechápem otázku - nikdy sa mi to nezdalo "iba", ale je fakt, že som myslel, že to bude jednoduchšie :-)
Je to perfektné. Nemám slov.
Len pri zadaní novej hodnoty to trošku "škrie".
Zadám do riadku novú hodnotu - napr. LOPATA.
Hneď sa mi pridá do rozbalovacieho pola na posledné miesto. Keď ju ale hneď pridám do ďalšej bunky ( kliknem na ňu ), zapíše sa mi údaj nad ňou - čiže posledný, ktorý tam bol.
Až keď otvorím hárok "údaje" a znovu hárok "rozbalovací zoznam", ide pridať.
Čiže, ak sa mám hrať na múdreho ( čo teda nie som :-) ), nejaká aktualizácia údajov nie je dostačujúca, najskôr asi údajov v hárku "údaje", ktorá nastane až po otvorení tohoto hárku. Mala by nastať vždy, keď bude údaj zadaný ručne, resp. po každej zmene. (?)
Môžem ešte poprosiť o opravu?
A ešte jedna prosba. Študoval som to trochu, aby som aspoň podstatu pochopil, ale nemôžem tam nikde nájsť podmienku nezapísania nového údaju, ak obsahuje "služobná cesta ". Kde to tam je? Lebo to funguje a neviem prísť na to ako.
Ďakujemcitovat
#041482
elninoslov
Upravené, zabudol som pridávať nové položky aj do poľa všetkých hodnôt, ktorá sa používa na načítanie do všetkých zoznamov, ale aj na získanie hodnoty pri kliku v menu. Pole som musel preto otočiť... to je nepodstatné.

Kontrola služobnej cesty prebieha na riadku 37 v procedúre Workbook_SheetChange modulu Tento_zošit.

Je to zamotané a zložité, a navyše je po mne cudziemu človeku niekedy ťažko skúmať, čo som ako a prečo tak či onak myslel. No skúste, či Vám tie kódy niečo povedia.
Příloha: zip41482_rozbalovaci-zoznam-ako-popup-menu.zip (29kB, staženo 46x)
citovat
#041525
avatar
Tak som to včera od rána rozpytvával, upravoval, aby to sedelo do môjho súboru a fungovalo a večer sa mi to konečne podarilo 1 . Už dávno som chcel písať o pomoc, ale chcel som to zvládnuť sám, aby som to aj pochopil. Všetko teda ide, ako má 1 len 1 vec neviem a to aby sa PoPup Menu nevzťahovalo namiesto 1 hárku na 2 ( mám tam 2 hárky údajov ). Jedná sa o rozšírenie tejto časti:

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) 'Pravý klik
Dim rngOblast As Range
If Not Sh.Name = "udaje" Then 'Na všetkých listoch okrem "udaje" ( a "popis prace")
Set rngOblast = Intersect(Target, Sh.Columns(1).Resize(Rows.Count - 1048452).Offset(7, 3)) 'Bol klik v stĺpci D od bunky 8 po bunku 131
If Not rngOblast Is Nothing Then 'Ak áno
ZobrazMenu 'Zobraz menu
Cancel = True 'Originál menu zruš
Set rngOblast = Nothing
End If
End If
End Sub


Skúšal som všeličo, ale nešlo mi to.
Plíz, plíz 1citovat
#041527
elninoslov
Riešení je množstvo, napr.:
If Not Sh.Name = "udaje" and Not Sh.Name = "iný list" Then
If IsError(Application.Match(Sh.Name, Array("údaje", "iný list"), 0)) Then
If InStr(1, Join(Array("", "údaje", "iný list", ""), "•"), "•" & Sh.Name & "•", vbTextCompare) = 0 Thencitovat

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