-Iba jeden list "List1", a ten chcete exportovať ako IKM (TXT). Iné listy tam niesú?
-V ňom chcete kliknúť na čudlík, a spustené makro sa opýta na názov a umiestnenie toho IKM.
- "nedokazu prevzit jmeno a cestu ulozeni do dalsich veci jako je zavreni daneho sesitu a nasledneho prepsani koncovky" ??? zatvorenie akého zošitu ?
- "a dané excely se zavrou" ??? aké excely ? Veď máte otvorený len ten jeden zošit save2.xlsm!
EDIT1: 11.2.2021 12:58
Prípadne skúsiť niečo iné:
Sub SAVEjako()
Dim Soubor As String, S As String
Dim H()
Dim x As Integer, y As Long
Soubor = Application.GetSaveAsFilename(InitialFileName:="D:\DATA_import.ikm", FileFilter:="Textový soubor IKM (*.ikm), *.ikm", Title:="Export IKM")
If Soubor = "False" Then Exit Sub
H = List1.UsedRange.Value
For y = 1 To UBound(H, 1)
For x = 1 To UBound(H, 2)
S = S & IIf(x = 1, vbNullString, vbTab) & H(y, x)
Next x
S = S & vbNewLine
Next y
Open Soubor For Output As #1
Print #1, S
Close #1
End Sub
len tam treba dbať aj na formát dát.
EDIT2: alebo takto:
Sub SAVEjako2()
Dim Soubor As String
Soubor = Application.GetSaveAsFilename(InitialFileName:="D:\DATA_import.ikm", FileFilter:="Textový soubor IKM (*.ikm), *.ikm", Title:="Export IKM")
If Soubor = "False" Then Exit Sub
Application.DisplayAlerts = False
Application.ScreenUpdating = False
List1.Copy
ActiveWorkbook.SaveAs Filename:=Soubor, FileFormat:=xlText
ActiveWorkbook.Close False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Porovnajte si oba výsledky.