Následující kód nakopíruje obsah jednoho souboru do jiného, přičemž ani jeden z nich není (nemusí být) tím, ve kterém běží makro, a nemusí být předem otevřený. Můžeme ho tedy spouštět ze třetího souboru.

V kódu je samozřejmě třeba nahradit cesty k souborům, jejich názvy, , názvy listů a definice oblastí.

Sub kopirovat()

Dim soubor_z As Workbook
Dim soubor_do As Workbook

Set soubor_z = Workbooks.Open("C:\Users\nazevzdroje.xlsx")
Set soubor_do = Workbooks.Open("C:\Users\nazevcile.xlsx")

soubor_do.Sheets("List1").Range("A1").Value = soubor_z("List1").Range("A1")

soubor_z.Close
soubor_do.Save
soubor_do.Close

End Sub

Kurzy, na kterých se věnujeme makrům:

1 Komentář

  1. Dobrý deň,
    potrebovala by som automatizovať na základe viacerých podmienok medzi dvoma súbormi prevod súčtu dvoch buniek z jedného súboru do druhého. Vedeli by ste mi poradiť ako na to?

  2. Zkoušel jsem to, ale nefunguje to. Háže to chybu:

    Run-time error 438 – Object doesn’t support this property or method.

  3. Dobrý den, bohužel jeden ten soubor neustále mění název. respektive je zaním vždy jiné datum například: “Report_x_1_1_2017” a potom se změní na “Report_x_7_1_2017” atd atd…jde nějak udělat že by ten soubor vyhledal podle začátku nazvu? Děkuji

  4. soubor_do.Sheets(“List1”).Range(“A1”).Value = soubor_z.Sheets(“List1”).Range(“A1”)

  5. Dobrý den, Dokázal by mi prosím někdo pomoci?

    Potřebuji zkopírovat buňky A4 – BX4 z listu 1 souboru A do buňek A? – BX?? listu 2 souboru B, kde soubor B je na zadefinovném místě v místní síti a ? je první volný řádek.

    Předem díky

Komentáře není možné přidávat