Zapisování řádků z různých listů do jednoho souhrnného listu

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

beneva
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: září 10
Pohlaví: Žena
Stav:
Offline

Zapisování řádků z různých listů do jednoho souhrnného listu

Příspěvekod beneva » 19 zář 2010 19:32

Už jsem tu zase. :wink: Celý den jsem studovala báječnou funkci SOUČIN SKALÁRNÍ, a vyráběla evidenční listy pro výrobu. Nyní pátrám po způsobu, jak zařídit, aby se nově vložený řádek z libovolného listu (bude jich asi 30) zapsal do souhrnu v samostatném sběrném listu. Dokážu to zařídit pouze z jednoho primárního listu (vzor) - viz vzorce v listu souhrn. Bude mi na to stačit mé I(C)Q?
Přílohy
Production_2011.xlsx
(73.02 KiB) Staženo 81 x

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod navstevnik » 19 zář 2010 23:04

Zrejme se jedna o prenos hodnot z bunek ruzne umistenych na zdrojovych listech podle nejakych pravidel postupne razenych v casove posloupnosti na list souhrn.
Tak na tohle uz bohuzel nebudou stacit funkce listu, tady bude nutno sahnout do arzenalu VBA.
Je nutno stanovit bunky, jejichz hodnoty maji byt preneseny a do kterych bunek (neco se da odvodit z ukazky pro uvedeny konkretni pripad, nic to ovsem nerika o pripadnych dalsich zaznamech na listu vzor) a stanovit, kdy je zaznam kompletni a je mozno prenest procedurou VBA prislusne hodnoty na list souhrn (tlacitkem, vlozenim hodnoty do konkretni bunky, otazka pripadnych dodatecnych zmen,....), dost dobre nelze na list souhrn vlozit propojeni na cca 30 listu s mnoha zaznamy.
Promysli a pak lze prikrocit k odpovidajicimu reseni.

beneva
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: září 10
Pohlaví: Žena
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod beneva » 22 zář 2010 18:10

Konečně jsem se dostala k popisu problému. Je na listu "co chci".
Zápis bude kompletní po provedení druhého doplnění.
Nutná je možnost dodatečné opravy ve zdrojových listech a následné přepsání v listu souhrn.
Přílohy
Production_2011.xlsx
(174.25 KiB) Staženo 98 x

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod navstevnik » 22 zář 2010 20:20

Predpokladam, ze doplneni napr. radku 13 na listu 700x1000 ma byt prirazeno k drive prenesenemu radku 13 z listu 700x1000, identifikace je predpokladam podle jedinecneho cisla objednavky.
Protoze nelze jednoznacne urcit udalost zahajujici prenos, bude nutno prenaset bunky jednotlive, to vsak vyzaduje zacit vyplnovat pocinaje bunkou Bxx - cislo objednavky, ktere je vlatne identifikatorem pro umisteni na listu souhrn, ten bude uzamcen jako ochrana proti nahodnym zmenam.
Procedura nedovoli vyplnit dalsi bunky radku, dokud nebude zadano cislo objednavky a neprobehne kontrola, ze toto cislo se na listu souhrn nevyskytuje, a po odsouhlaseni potvrzovaciho datazu bunka bude uzamknuta - souhlas? Na listu souhrn tak bude obraz stavu "rozpracovanosti" na listech 700x1000;...
Zustava otazka, jak postupovat v pripade, ze bude ve zdrojovem listu potreba zmenit cislo objednavky nebo cely zaznam odstranit? Zvolit podobny mechanizmus opravy znamy ze supermarktu u pokladen, kdy dojde k chybnemu zaznamu u polozky nakupu - dojde vedouci a opravi?

beneva
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: září 10
Pohlaví: Žena
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod beneva » 23 zář 2010 13:39

Ano, s doplněním je to tak, jak píšeš.
Pokud k identifikaci bude sloužit číslo objednávky, musím tato čísla učinit jedinečná doplněním o _1; _2;,... to však není problém. (V jedné objednávce mám více položek, lišících se jen termínem dodání.) ANO, buňku Bxx tedy můžeme uzamknout.
Opravy: se souborem pracuji jen já, netřeba mít tedy zvláštní povolení. Jen by to chtělo pojistku ve formě vyskakovacího okna s dotazem, zda to opravdu chci udělat.

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod navstevnik » 23 zář 2010 16:41

V priloze je sesit obsahujici procedury vykonavajici pozadovane - pracovni verze pro overeni. Pri otevreni povolit makra!
Vice informaci viz komentar na listu vzor!Q2
Otestuj na vsechny zpusoby, pripadne pozadavky pak doplnim.
Přílohy
Production_2011.xlsm
(200.68 KiB) Staženo 174 x

beneva
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: září 10
Pohlaví: Žena
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod beneva » 25 zář 2010 06:06

Cítím se hrozně hloupě, ale zatím jsem jen dokázala povolit makra a otevřít VBA. Nevím, jak modul Thisworkbook odemknout. Také nemohu odemknout jednotlivé listy. Nezamykala jsem je a neznám heslo. Formátování pak upravím (text, číslo, datum... ale barvy jsou v pořádku).

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod navstevnik » 25 zář 2010 09:25

Na prvnim radku v komentari je uvedeno:
Otevri sesit - povolit makra - a ve VBA v modulu Thisworkbook spust proceduru Odemkni

Pokusim se tedy vysvetlit jinak:
Podle nastaveni v Moznosti aplikace Excel>Centrum zabezpeceni>Nastaveni maker je pripadne nutno povolit makra pri otevreni sesitu.
Makra jsou tedy povolena, otevrit editor VBA - Alt+F11 nebo pas karet>Vyvojar>VisualBasic, vybrat modul Thisworkbook (Tento sesit) a spustit proceduru Odemkni - kurzor vloz do teto procedury a stiskni F5 nebo v nabidce Run>Run Sub/... a sesit bude odemknut.
Uzamknuti listu souhrn a jednotlivych bunek ve sloupci B13:Bxx na listech 700x1000 a dalsich je potrebne z duvodu zachovani integrity dat.
Bunky v B13:Bxx zamyka procedura az po vlozeni cisla objednavky a po jeho potvrzeni, proto je nutno v teto fazi vsech odemknutych listu zrusit uzamknuti vsech bunek na zdrojovych listech (ne na listu souhrn, ten musi byt uzamknut): vybrat cely list ( kliknout na obdelnicek nachazejici se vlevo nahore v miste styku radkovych a sloupcovych indexu bunek - radek 1 a sloupec A) a pak Domu>Bunky>Format>Format bunek>zalozka Zamek a zrusit Uzamceno.
Udelat upravy formatovani (zejmena B13:Bxx a sloupce pro datum) a zavrit sesit. Jeho opetovnym otevrenim bude uzamknut list souhrn a bunky ve sloupcich B13:Bxx do kterych bylo vlozeno cislo objednavky za asistence procedur a bunka procedurou nastavena na Locked.

beneva
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: září 10
Pohlaví: Žena
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod beneva » 25 zář 2010 19:36

Návštěvníku, kde je chyba? Povolím makra. Otevřu VBA. Označím Thisworkbook. Stisknu F5. Objeví se okno Macros, v něm vybraný název Revize a tlačítko Run. Stisknu ho a vyskočí okno s oznámením: Nutno vybrat buňku B13:B1000. Vrátím se na list 1 a označím buňku B13. Znovu otevřu VBA ... stisknu F5, vyskočí okno s oznámením: U vybraného záznamu na zdrojovém listu změň č. objednávky ...atd. Proč po potvrzení tlačítka Run se listy neodemknou? Ani deklarované Run Sub jsem nikde neviděla.
Když nemůžu odemknout listy, neodemknu ani buňky... Přece nejsem tak blbá... :-(

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Zapisování řádků z různých listů do jednoho souhrnného l

Příspěvekod navstevnik » 25 zář 2010 19:50

Kdyz mas povolena makra, tak v editoru VBA vlevo v okne Project klikni na ThisWorkbook a vpravo se otevre okno modulu ThisWorkbook a jsou v nem procedury, kurzor umisti do procedury Odemkni a stiskni F5. procedura odemkne vsechny listy. A dal pokracuj podle popisu v komentari, zejmena zrus uzamknuti listu a prekopiruj procedury z modulu listu vzor do modulu zdojovych listu ( v modulu vzor - vyber v okne Project dvojklikem), v okne modulu vyber tazenim mysi vse, ctrl+c, vyber modul listu 700x1000 ( v okne Project) a vloz ctrl+v a opakuj pro dalsi moduly.
PS.: Podivej se do: http://www.officir.ic.cz/excelentne.html je to sice pro nizsi verze Excelu, ale plne pouzitelne ve VBA, v Excelu je jen jine ovladani nez v Ex2007.
PPS.: myslim ze dalsi dotazy bude vhodne vest prostrdnictvim soukromych zprav SZ, at zbytecne nezaplevelujeme poradnu.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Excel - automatický export listů xls do pdf včetně pojmenování Příloha(y)
    od kalosek » 28 čer 2023 20:31 » v Kancelářské balíky
    2
    2127
    od kalosek Zobrazit poslední příspěvek
    29 čer 2023 19:39
  • 2 monitory na různých místech + propojení
    od Asanoth » 04 bře 2024 11:25 » v Rady s výběrem hw a sestavením PC
    3
    958
    od Asanoth Zobrazit poslední příspěvek
    18 bře 2024 11:19
  • Jak na joystitku předefinovat tlačítka a jak ho zprovoznit v různých hrách
    od Speed_dead » 24 bře 2024 11:25 » v Vše ostatní (hw)
    3
    962
    od meda2016 Zobrazit poslední příspěvek
    25 bře 2024 07:15
  • Kontrola kopírování dat z jednoho disku na druhý Příloha(y)
    od orfan » 25 dub 2024 11:59 » v Vše ostatní (sw)
    15
    750
    od orfan Zobrazit poslední příspěvek
    25 dub 2024 19:51
  • Kopírování řádků s funkcí když Příloha(y)
    od Martyn20 » 20 črc 2023 16:50 » v Kancelářské balíky
    3
    2028
    od Melvidor Zobrazit poslední příspěvek
    21 črc 2023 08:41

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 36 hostů