

MS Excel - načítání dat z jiných listů
Programování mi moc nejde, ale docela to dokáže usnadnit práci.
Potřeboval bych prosím trošičku pomoct
Na jednom listu bych měl 4 tabulky pro tisk
Na dalších listech vytvářené databáze, jde jen o to, že by si člověk v některé z databází vybral řádek, klikl by na tlačítko v listu a některé hodnoty z řádku by se přesunuli do některé z tabulek na listu 1, nevim jestli jedno tlačítko které se bude ptát do které z tabulek, nebo 4 tlačítka? Vůbec nevim jak na to :((
Díky za jakoukoliv snahu mi pomoct...
[mod]Doplněn předmět a změna kategorie (LaKr)[/mod]
Možná by bylo lepší napsat, čeho konkrétně chceš docílit.
v databázi bude asi 30 listů, list může mít třeba 150 řádků,
list tisku, budou tam 4 tabulky, protože to budu tisknout na A4, komplikace jsou v tom, že z řádku databáze budu brát 5 údajů z 10, a těch 5 údajů je potřeba poskládat do některé z tabulek na tisklistu, To není tak těžký jak se zdá,
jde jen o to aby tlačítko pochopilo z kterého řádku brát hodnoty, výběr se potom zúží nejspíš sloupci, a potom musí být přesně definované buňky na listu tisku, protože si je nemůže kopírovat kamkoliv,
To přenesení hodnot do jiného listu jde naprogramovat přes makra, docela pohodlně, ale tam je právě chyba, že se zapíše která buňka se má kam skopírovat, ale mě bohatě stačí do toho makra nějak vložit to, aby bral poze hodnoty z ActiveCell a např buňku v sloupci A vybraného řádku přenesl na tisklist do A2, a pokračoval hodnotu z B sloupce přenesl na tisklist do A3, např...
A ten výběr mezi čtyřma možnostma na tisklistu, buť 4 tlačítka, nebo by se to tlačítko muselo nějak ptát...
a říká ti něco MS Access?
Pročpak? Pode to tam líp???
no jasně.
Akorát že ases nikdo neovládá, kdybych přišel jak to v tom udělat? tak snad, ale ostatní by s tím neuměli dělat, a zas tak velkou databázi tvořit nebudu, zůstanu u excelu
já ho třeba ovládám
Ak máš v databáze nejaký identifikátor, tak by som použil taký prístup, ako píše senior. Ak si myslíš, že vhodnejšie je tlačidlo s makrom, tak to spravíš nejako takto:
1. Vytvoríš si tlačidlo:
Cez menu View / Toolbars / Control Toolbox si zobrazíš lištu s prvkami, ktoré sa dajú pridávať. Vyberieš tlačidlo a umiestniš ho do stránky. "Ikona s pravítkom" je teraz stlačená, čo znamená, že si v Design móde.
Ak chceš, môžeš si to tlačidlo nejako inteligentne nazvať (inak to bude CommandButton1) cez pravé tlačidlo myši a Properties.
2. V Design mode dvakrát klikneš na tlačidlo, čím sa otvorí Visual Basic Editor a vytvorí obslužne makro pre udalosť stlačeni tlačidla, do ktorého stačí už len napísať, čo chceš.
3. No a teraz by som Ti napísal, čo potrebuješ, ale keďže neviem nič o štruktúre údajov v zošite, tak len všeobecne:
Najprv si vytvorím pomocné premenné pre niektoré oblasti:
- myTable bude tabuľka databázy, povedzme že je na druhom liste a jej ľavý horný roh je v bunke A3,
- myRegion bude oblasť na prvom liste (tisklist), kde sa budú nachádzať vybrané riadky z databázy,
- myCell si nastavím tak, aby to bol nový riadok na tiskliste, čiže riadok hneď pod myRegion.
Ďalej pokračujem len vtedy, ak používateľ označil (RangeSelection) niečo na liste s databázovou tabuľkou, takže porovnám index worksheetov.
Potom si zistím, čo používateľ na liste s databázovou tabuľkou označil, t.j. prienik mojej tabuľky (myTable) s vybranou oblasťou (RangeSelection).
No a ak niečo vybral, tak prejdem všetky riadky, ktoré sú vo vybranej oblasti a prekopírujem napríklad prvé tri stĺpce na prvý list (tisklist).
Takže to makro by vyzeralo nejako takto:
struktura údajů a jak by to mělo vypadat jsem umístil na tisklist.JPG
Myslím že teprv teď se bude dat napsat kód, kterej pochopím
Jak to bude fungovat je asi jasný, vybrat řádek, kliknout na tlačítko1 a hodnoty z definovaných sloupců se přenesou na tisk list a poskládaj se tam podle dané definice,
pak bych vybral jinej řádek a tlačítko2 a provedlo by se to podobně,
naprosto mi bude stačit makro jediného tlačítka, u dalších se budou měnit pouze buňky tisklistu
Nejsu si jistej, ale to tlačítko by mělo fungovat způsobem:
vzít aktivní řádek, hodnotu ze sloupce A kopírovat na tisklist do A4,
dál ze sloupce B kopírovat na tisklist do C2 atd atd...
Mě se to zdá docela jednoduchý až na to že nevim jak na ten kód
Díky za pomoc
Aha, takže keď stlačí dvakrát jedno tlačidlo, tak hodnoty v určitých bunkách na tisk liste sa majú prepísať hodnotami z vybraného riadka v databáze. V tom prípade je makro úplne jednoduché - bude pozostávať z pár riadkov, ktoré môžu vyzerať nejako takto: