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
Kopírování listů Vyřešeno
-
- Level 2
- Příspěvky: 197
- Registrován: únor 12
- Pohlaví:
Kopírování listů
Nemáte oprávnění prohlížet přiložené soubory.
-
- Level 2.5
- Příspěvky: 346
- Registrován: červen 13
- Pohlaví:
Re: Kopírování listů
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ť.
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.
-
- Level 2
- Příspěvky: 197
- Registrován: únor 12
- Pohlaví:
Re: Kopírování listů
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

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



-
- Level 2
- Příspěvky: 197
- Registrován: únor 12
- Pohlaví:
Re: Kopírování listů
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
Potreboval bych rozsirit vyber jeste o jeden sloupec. To se mi povedlo ale uz neumim prevest vzorce na hodnoty.
Dekuji za upravu
-
- Level 2.5
- Příspěvky: 346
- Registrován: červen 13
- Pohlaví:
Re: Kopírování listů
Na pridanie jedného stĺpca iba zmeňte 8 na 9
Ak tým stĺpcom je hneď ďalší stĺpec "I", tak zmeňte ešte 8 na 9 aj tu
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
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)
...
-
- Level 2
- Příspěvky: 197
- Registrován: únor 12
- Pohlaví:
Re: Kopírování listů
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
pokud to upravim tak jak jste mi poradil tak se neprenese nic.
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.
-
- Level 2.5
- Příspěvky: 346
- Registrován: červen 13
- Pohlaví:
Re: Kopírování listů
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".
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".
-
- Level 2
- Příspěvky: 197
- Registrován: únor 12
- Pohlaví:
Re: Kopírování listů
Dobrý vecer , ja vim
ale nejak mi to nefunguje viz. příloha
ale nejak mi to nefunguje viz. příloha
Naposledy upravil(a) luko02420 dne 06 úno 2023 05:58, celkem upraveno 1 x.
-
- Level 2.5
- Příspěvky: 346
- Registrován: červen 13
- Pohlaví:
Re: Kopírování listů
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...
-
- Level 2
- Příspěvky: 197
- Registrován: únor 12
- Pohlaví:
Re: Kopírování listů Vyřešeno
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
-
- 4
- 1616
-
od junis
29 dub 2022 20:16
Kdo je online
Uživatelé prohlížející si toto fórum: CommonCrawl [Bot], Seznam[Bot] a 0 hostů