< návrat zpět

MS Excel


Téma: kopírování dat mezi soubory rss

Zaslal/a 9.1.2025 6:59

Dobrý den, mám makro pro kopírování dat z jednoho souboru do druhého. Občas potřebuji přejmenovat cílový soubor "výkaz hodin.xlsm" např. na "výkaz hodin 2024.xlsm", pak bez úpravy makra nic nefunguje.
Pokouším se přijít na to, jak udělat aby si makro zapamatovalo název souboru, do kterého se má vrátit po zkopírování dat z "PorovnaniHodin.xlsx". Vložit si název do paměti? Pro ukázku jsem makro ořezal jen na základ. Díky za pomoc.

Sub test()

Dim Cesta As String
Dim uzivatel As String

Cesta = "C:\Users"
uzivatel = Application.UserName

Application.DisplayAlerts = False 'potlačí excelová hlášení (např při zavírání souborů)

Workbooks.Open (Cesta & "\" & uzivatel & "\Downloads\PorovnaniHodin.xlsx")

Sheets("Data").Range("A:K").Select
Selection.Copy

Windows("výkaz hodin.xlsm").Activate
Sheets("PorovnaniHodin").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Windows("PorovnaniHodin.xlsx").Activate
ActiveWindow.Close False

Application.DisplayAlerts = True 'opětovné povolení excelovských hlášené

End Sub

Zaslat odpověď >

#057130
elninoslov
Sub test()
Dim Cesta As String
Dim uzivatel As String

Cesta = "C:\Users"
uzivatel = Application.UserName

Application.DisplayAlerts = False 'potlačí excelová hlášení (např při zavírání souborů)

With Workbooks.Open(Cesta & "\" & uzivatel & "\Downloads\PorovnaniHodin.xlsx")
.Worksheets("Data").Range("A:K").Copy
ThisWorkbook.Worksheets("PorovnaniHodin").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.Close False
End With

Application.DisplayAlerts = True 'opětovné povolení excelovských hlášené
End Sub

Ak by som videl reálne prílohy, rozmiestnenie, formáty, počet riadkov, kde sú dáta a kde vzorce, orámovanie a pod., tak by som to vedel urobiť bez nutnosti otvárať daný zošit.citovat
#057131
avatar
Zdrojový sešit není nutné otevírat? 9 To jsem právě na netu nikde nezjistil.
Není tam žádný vzorec, ani rámování. Jediné co se mění je počet řádků. Zkopírují se jen sloupečky A:K a bez jakéhokoli formátování vloží do cílového souboru. V něm se teprve provádí operace pomocí dalších maker.citovat
#057132
elninoslov
Nejaké príklady. Sú potrebné upresnenia:
-mení sa počet stĺpcov?
-menia sa názvy stĺpcov?
-majú stĺpce hlavičky?
-sú to jednoliate dáta, alebo s medzerami?
-ktorý stĺpec je smerodajný pre počet riadkov?
-výstup má byť tabuľka alebo Tabuľka (objekt)?
...
Příloha: zip57132_vykaz_hodin.zip (41kB, staženo 6x)
citovat
#057133
avatar
Makro "CopyFormula" - kopírování dat bez formátů, ve sloupečku A:A jsou vždy hodnoty, je bez mezer. Tak ta funguje úplně přesně. Moc děkuji.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje