Kopírování listů Vyřešeno

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

Moderátor: Mods_senior

luko02420
Level 2
Level 2
Příspěvky: 197
Registrován: únor 12
Pohlaví: Nespecifikováno

Kopírování listů

Příspěvekod luko02420 » 03 úno 2023 05:59

Zdravím přítomné odborníky,
potřeboval bych pomoc s kopírováním určitého obsahu všech listů v sešitu z jednoho souboru do nového na jeden list.
představu mám asi takovou, že v makru bude vložena pevná cesta ke zdrojovému sešitu a z něho vzít ze všech listů údaje z buňky D7, H22 a A25:H49.
A vložit pod sebe do sešitu "Objednávky" na list "Hlavní". Viz příklad v příloze.
Struktura listů zdroje bude vždy stejná, jen se bude měnit název listů a asi počet listů.
Z jednoho listu jsem to dokázal zkopírovat sice krkolomně ale šlo to. Ale už nevím jak to zopakovat u ostatních.
Ve vzoru jsem použil makro z netu, které mi zkopíruje listy ze zdroje do cílového sešitu.
Snad jsem to popsal srozumitelně.
Děkuji za pomoct
Nemáte oprávnění prohlížet přiložené soubory.

Reklama
Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 346
Registrován: červen 13
Pohlaví: Muž

Re: Kopírování listů

Příspěvekod elninoslov » 03 úno 2023 14:41

V prílohe je 1 súbor. Ale v 2. vete píšete o 2 súboroch. Takže ktorá situácia?

a) Máte nejaký súbor s listom "Hlavní" s makrom (*.xlsm), a do neho chcete natiahnuť požadované informácie zo všetkých listov iného súboru "Objednávky" (*.xlsx)?

b) Máte súbor "Objednávka.xlsm" s listom "Hlavní" s makrom, a do tohto listu "Hlavní" chcete natiahnuť požadované informácie zo všetkých listov tohto istého súboru (okrem listu "Hlavní")?

c) Makro je Objednávka.xlsm a má preniesť svoje dáta zo svojich listov do iného súboru s listom "Hlavní"? Ale čo potom ten list "Hlavní" a súbore "Objednávka.xlsm"???

EDIT 3.2.2023 19:10:
Ako príklad uvádzam riešenie pomocou dolovacích vzorcov a ADO, bez otvárania daného súboru. Je to rýchle. Dá sa to aj cez PQ, no to bude pomalšie. Upresnite, čo som sa pýtal minule + či sa majú dáta pridávať alebo nahrádzať + či treba niektoré listy ignorovať.
Nemáte oprávnění prohlížet přiložené soubory.

luko02420
Level 2
Level 2
Příspěvky: 197
Registrován: únor 12
Pohlaví: Nespecifikováno

Re: Kopírování listů

Příspěvekod luko02420 » 03 úno 2023 21:20

Dobrý večer,
omlouvám se psal jsem to narychlo.
Varianta "b" je to co potřebuji.
Děkuji

Tak jsem vyzkoušel ten Váš návrh.
To je proste bomba.To je to co potrebuji.
Vy jste proste kouzelnik :clap: :thumbup: :number1:

luko02420
Level 2
Level 2
Příspěvky: 197
Registrován: únor 12
Pohlaví: Nespecifikováno

Re: Kopírování listů

Příspěvekod luko02420 » 05 úno 2023 09:43

To Elninoslov: mohl bych poprosit jeste o malou upravu Vaseho kodu v souboru s dolovacimi vzorci..
Potreboval bych rozsirit vyber jeste o jeden sloupec. To se mi povedlo ale uz neumim prevest vzorce na hodnoty.
Dekuji za upravu

Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 346
Registrován: červen 13
Pohlaví: Muž

Re: Kopírování listů

Příspěvekod elninoslov » 05 úno 2023 11:53

Na pridanie jedného stĺpca iba zmeňte 8 na 9

Kód: Vybrat vše

ReDim aFormulas(1 To CountSheets * 27, 1 To 9)
...
With .Resize(R, 9)

Ak tým stĺpcom je hneď ďalší stĺpec "I", tak zmeňte ešte 8 na 9 aj tu

Kód: Vybrat vše

...
For CC = 1 To 9
...

ale ak chcete pridať stĺpec nesúvisiaci s prvotnou oblasťou A:H, napríklad stĺpec T, tak pridajte ešte tento riadok za "Next CC"

Kód: Vybrat vše

...
Next CC
aFormulas(R, 9) = Replace(Replace(sTMP, "#", RR), "$", 20)
...

luko02420
Level 2
Level 2
Příspěvky: 197
Registrován: únor 12
Pohlaví: Nespecifikováno

Re: Kopírování listů

Příspěvekod luko02420 » 05 úno 2023 12:06

Dekuji za radu, toto se mi uz podarilo.
Ve zdrojovem sesitu jsem musel do slouce I pridat vzorce.
Udaje se mi prenesou ale mam tam zapis NENI K DISPOZICI. pouze kdyz upravim v kodu z 8 na 9

Kód: Vybrat vše

With .Resize(R, 9)

pokud to upravim tak jak jste mi poradil tak se neprenese nic.

Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 346
Registrován: červen 13
Pohlaví: Muž

Re: Kopírování listů

Příspěvekod elninoslov » 05 úno 2023 13:00

Ako som napísal.
Ak sa jedná o priľahlý/susediaci/súvisiaci stĺpec k doterajšiemu stĺpcu č. 8 (teda "H:H"), čiže ide o stĺpec č. 9 (teda "I:I"), tak meníte iba číslo 8 na 9 a to na 3 miestach v kóde.
Ak sa nejdená o priľahlý/susediaci/súvisiaci stĺpec k doterajšiemu poslednému stĺpcu č. 8 (teda "H:H"), čiže ide napr. o stĺpec č. 20 (teda "T:T"), tak meníte číslo 8 na 9 iba na 2 miestach v kóde, ale musíte pridať spomínaný riadok kódu za riadok "Next CC".

luko02420
Level 2
Level 2
Příspěvky: 197
Registrován: únor 12
Pohlaví: Nespecifikováno

Re: Kopírování listů

Příspěvekod luko02420 » 05 úno 2023 19:10

Dobrý vecer , ja vim
ale nejak mi to nefunguje viz. příloha
Naposledy upravil(a) luko02420 dne 06 úno 2023 05:58, celkem upraveno 1 x.

Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 346
Registrován: červen 13
Pohlaví: Muž

Re: Kopírování listů

Příspěvekod elninoslov » 05 úno 2023 19:45

Spustím ten Váš posledný súbor a funguje. Nemáte náhodou tú objednávku inú, ako ste poslal? Minimálne tam vidím podozrivosť v tom, že ste uviedol súbor xlsm ale načítate súbor xlsx (čo nie je problém, len to svedčí o tom, že iné dáte do zadania a iné v skutočnosti máte), a potom tam vidím, že načítate nejaký zoznam súborov CSV v inom makre. Nie sú tie "xlsx" náhodou iba premenované CSV (ten popis "'Z:\MBLAK\BM 3000 Aktualizace karet\Objednávky csv")? Aj s tým som sa stretol. Snažím sa iba dedukovať, keďže mne ten Váš súbor funguje...

luko02420
Level 2
Level 2
Příspěvky: 197
Registrován: únor 12
Pohlaví: Nespecifikováno

Re: Kopírování listů  Vyřešeno

Příspěvekod luko02420 » 06 úno 2023 09:52

Díky ochotě a umění mistra Elninoslova, vše funkční. Chyba odstraněna. Měl jsem ta skryté listy a přehlédl je.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Makro na výběr listu a vložení do sešitu
    od junis » 21 dub 2022 20:40 » v Kancelářské balíky
    4
    1616
    od junis
    29 dub 2022 20:16

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

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 1 host