coffey33
17.10.16,14:01
Zdravím, keďež som na chvíľočku (...ale len na chvíľočku :) otvoril dvere do sveta makier a celkom ma to fascinuje chcem sa spýtať ako je možné priradiť makru vlastnosť vytvorenia obsahovo rovnakých súborov.xlsx (napr. s obsahom nejakej TAB viď. zošit TAB v prílohe) v určenom adresári (napr: D:\Nový adresár\)s názvami na základe určeného zoznamu. Dik
Kabaka123
17.10.16,17:27
pozri

http://www.porada.sk/t222744-excel-makro-ktore-vytvori-novy-folder-a-ulozi-subor.html

tak vyskúšala som makro v súbore 2 - vytvorí súbor s menom v zozname a nakopíruje tabuľku (avšak stratí sa jej funkčnosť), ale nevytvorí ich v jednom priečinku, ale každý excel. súbor je vo vlastnom priečinku

na vytvorenia viacerých excel. súborov do jedného priečinka by to chcelo úpravu makra (to neviem)
coffey33
18.10.16,09:50
"startí sa jej funkčnosť" = takže ak by som mal v TAB nahodené vzorce, makro mi vygeneruje len TAB s hodnotami (s nie vzorcami :) ?
Kabaka123
18.10.16,11:21
DOPLNENIE - stratí sa funkčnosť, lebo zachovanie vzorcov nie je v tomto makre zahrnuté
a.b.o
18.10.16,11:33
Odpoved na tvoju otazku je, ano je to mozne

podla tvojej otazky ale usudzujem ze sa do programovania absolutne nevyznas a zacinas "zlozitejsimi" vecami. Asi by som zacal jednoduchsimi makrami ak ta to fascinuje ...
mepex
20.10.16,05:52
Absolútne rovnaký obsah do iného súboru, stačí otvorený súbor a nahrať a upraviť makro komunikácie uložiť ako. Alebo odkopírovať list do iného súboru a ten tiež uložiť ako. Odporúčam, skôr než sa pustíte do programovania pochopiť možnosti samotného systému a potom použiť nejakú knihu VBA for Excel.
PaloPa
20.10.16,13:15
Ad "stratí sa jej funkčnosť"

Kód pôvodných príkladov bol postavený podľa zadania, kopírovať iba hodnoty a formáty.

V prípade prenosu vzorcov, je treba upraviť funkciu Add_New_Wbk a to nasledovne:

' všetko, vrátane vzorcov: ... Paste:=xlPasteAll ...
' len vzorce : ... Paste:=xlPasteFormulas ...

!!! ak chceš aj vzorce - !!! nesmú odkazovať na iné ako kopírované oblasti.




Function Add_New_Wbk(xPath As String, xFile As String, xData As Range) As String
'
On Error GoTo xErr
'doplnene kopirovanie - ver 2
xData.Copy

Workbooks.Add

'ak chces iba data - od pozicie A1
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False

'ak chces aj vzorce - !!! nesmu odkazovať na iné ako kopírované oblasti
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

' vsetko, vrátane vzorcov: ... Paste:=xlPasteAll ...
' len vzorce : ... Paste:=xlPasteFormulas ...

'ak chces aj formaty
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Application.DisplayAlerts = False 'prepise bez opytania, ak uz je
ActiveWorkbook.SaveAs Filename:=xPath & xFile
Application.DisplayAlerts = True

Add_New_Wbk = ""
Exit Function

xErr:
Application.DisplayAlerts = True
Add_New_Wbk = Err.Description

End Function



Palo

Tip: Pre učenie sa ako "makrovať" je najlepšie spustiť si automatické zaznamenávanie makra, a pozrieť si ako urobil sám Excel.