

Excel: jak dostat proměnnou do makra pro název exportovaného souboru?
Mám tu makro na uložení nějakých dat do jiného souboru.
Sub TiskTXT()
Dim ArrZdroj
Dim Data As String
Dim i As Integer
With List1
ArrZdroj = Array(Cells(17, 3).Value)
End With
Data = Join(ArrZdroj)
i = FreeFile
Open ThisWorkbook.Path & "(Cells(21, 3)Value)" & ".txt" For Output As #i
Print #i, Data,
Close #i
End Sub
Má se vytvořit soubor *txt a do něj zapsat obsah buňky C17. To se děje.
Chtěl bych to ale vylepšit tak, aby název toho *txt souboru byl podle obsahu buňky C21. Pokusil jsem se to tam nějak narvat, ale evidentně špatně, soubor se pak jmenuje "(Cells(21, 3)Value).txt". V buňce C21 (tedy 21,3) je různé číslo, mění se podle dat *xlsm
Pokud bude v C21 "12345", měl by být název souboru "12345.txt".
Jak upravit řádek
Open ThisWorkbook.Path & "(Cells(21, 3)Value)" & ".txt" For Output As #i
aby to fungovalo?
Díky
Změna předmětu, původně: Excel: jak dostat proměnnou do makra? (L-Core)
Do úvodzoviek sa dáva reťazec, takže tu by nemali byť:
Kvôli čitateľnosti je lepšie použiť Range, pri čítaní hodnoty nie je potrebné použiť Value, takže:
Netestované.
Díky, funguje.
Aha, tak to funguje jen v rootu disku. Jinak to do názvu přidává i název adresáře, což nechci. A soubor je o adresář výš. Potřebuji, aby to bylo ve stejném adresáři a jmenovalo se to přesně podle obsahu C21.
xlsm v příloze
Open ThisWorkbook.Path & "\" & Range("c21") & ".csv" For Output As #i
Jo, to je ono.
Díky.