Stránka 1 z 1

Kopírování listů

Napsal: 03 úno 2023 05:59
od luko02420
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

Re: Kopírování listů

Napsal: 03 úno 2023 14:41
od elninoslov
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ť.

Re: Kopírování listů

Napsal: 03 úno 2023 21:20
od luko02420
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:

Re: Kopírování listů

Napsal: 05 úno 2023 09:43
od luko02420
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

Re: Kopírování listů

Napsal: 05 úno 2023 11:53
od elninoslov
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)
...

Re: Kopírování listů

Napsal: 05 úno 2023 12:06
od luko02420
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.

Re: Kopírování listů

Napsal: 05 úno 2023 13:00
od elninoslov
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".

Re: Kopírování listů

Napsal: 05 úno 2023 19:10
od luko02420
Dobrý vecer , ja vim
ale nejak mi to nefunguje viz. příloha

Re: Kopírování listů

Napsal: 05 úno 2023 19:45
od elninoslov
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...

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

Napsal: 06 úno 2023 09:52
od luko02420
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.