Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1428to1432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arbeitsblätter als Unicode TXT speichern

Arbeitsblätter als Unicode TXT speichern
18.06.2015 12:09:15
Basti
Hallo zusammen,
ersteinmal vielen Dank für die Aufnahme im Forum. Ich heisse Basti, bin 30 Jahre und komme aus NRW. Ich arbeite in einer Werbeargentur als Projektmanager. Privat beschäftige ich mich seit längerem mit Excel und probiere diverses aus um mich weiterzubilden. Soweit erstmal Infos zu mir.
Nun zu meinem Anliegen:
Ich habe mehere Excel-Arbeitsmappen mit mehreren Tabellenblättern (Menge der Blätter je Mappe unterschiedlich).
Gibt es die Möglichkeit das Excel alle Arbeitsblätter mit nur einem Klick einzeln als Unicode-TXT Datei abspeichert? Als Abspeicherungsname soll der Name des Arbeitsblattes genutzt werden. Eventuell ist sowas ja als Marko möglich, leider ist mein Wissenstand was Makros angeht nicht sehr hoch.
Ich hoffe ich konnte mein Anliegen detailiert genug formulieren und Ihr könnt mir weiterhelfen.
Vielen Dank und beste Grüße
Basti

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblätter als Unicode TXT speichern
18.06.2015 12:29:11
Rudi
Hallo,
teste mal:
Sub aa()
Dim wks As Worksheet
Const sPfad = "c:\test\"
For Each wks In Worksheets
wks.SaveAs _
Filename:=sPfad & wks.Name & ".txt", _
FileFormat:=xlUnicodeText
Next
End Sub

Gruß
Rudi

AW: Arbeitsblätter als Unicode TXT speichern
18.06.2015 12:33:02
Senna
Hallo Basti,
dies sollte dir helfen:
Sub Mappe_als_Unicode_Text()
Dim lngI As Long
Dim lngJ As Long
lngJ = ActiveSheet.Index
For lngI = 1 To Sheets.Count
Sheets(lngI).Select
ActiveWorkbook.SaveAs Filename:=Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\" &  _
Sheets(lngI).Name & ".txt", _
FileFormat:=xlUnicodeText, CreateBackup:=False
Next lngI
Sheets(lngJ).Select
End Sub

Anzeige
AW: Arbeitsblätter als Unicode TXT speichern
18.06.2015 12:55:53
Basti
Hallo zusammen,
WOW das ging ja schnell...
@Senna, danke deins hat auf Anhieb funktioniert. Bestände jetzt noch die Möglichkeit im Makro zu hinterlegen, dass der Speicherort der TXT-Dateien dem der Ausgangsdatei entspricht? Oder muss ich das Manuell angeben, wenn ja wo und wie?
Sorry bin bei Marko echt etwas hilflos.
Danke Gruß Basti

AW: Arbeitsblätter als Unicode TXT speichern
18.06.2015 13:04:15
Senna
Klar geht das:
Sub Mappe_als_Unicode_Text()
Dim lngI As Long
Dim lngJ As Long
lngJ = ActiveSheet.Index
For lngI = 1 To Sheets.Count
Sheets(lngI).Select
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" &  _
Sheets(lngI).Name & ".txt", _
FileFormat:=xlUnicodeText, CreateBackup:=False
Next lngI
Sheets(lngJ).Select
End Sub

Anzeige
AW: Arbeitsblätter als Unicode TXT speichern
18.06.2015 15:19:55
Basti
Hi Senna,
das hat echt gut geklappt. Jetzt habe ich nur ein Problem.
Die erstellten Daten sollen als Datenzusammenführung in Adobe InDesign an einem Mac genutzt werden.
Der kann diese Dateien aber nicht öffnen. Die Ursprungs-Arbeitsmappe mit dem gespeicherten Makro ebenfalls nicht.
Und wenn ich das Makro am Mac ausführe speichert er mir die ganzen Daten in unterschiedliche Ordner, etwas willkürlich.
Gruß
Basti

AW: Arbeitsblätter als Unicode TXT speichern
18.06.2015 12:46:17
fcs
Hallo Basti,
nachfolgend ein Makro, das du ggf. noch ein wenig an deine Bedürfnisse Anpassen muss - z.B. Verzeichnis in dem die Textdateien gespeichert werden sollen.
Gruß
Franz
'Makro in einem allgemeinen Modul - z.B. der persönlichen Makro-Arbeitsmappe
'dann besteht auch die Möglichkeit, ein Menüband anzupassen/anzulegen und das _
Makro einer Schaltfläche zuzuweisen
Sub SaveAsUnicode()
Dim wkb As Workbook
Dim wks As Worksheet
Dim wkbUnicode As Workbook
Dim bolSpeichern As Boolean, strName As String
Set wkb = ActiveWorkbook
Application.ScreenUpdating = False
For Each wks In wkb.Worksheets
wks.Copy
Set wkbUnicode = ActiveWorkbook
strName = wkb.Path & Application.PathSeparator & wks.Name & ".txt"
bolSpeichern = True
If Dir(strName)  "" Then
If MsgBox("Datei ist schon vorhanden!" & vbLf & strName & vbLf & vbLf _
& "Datei überschreiben?", vbQuestion + vbYesNo, _
"Unicode-Text-Datei erstellen") = vbYes Then
bolSpeichern = False
End If
End If
Application.DisplayAlerts = False
If bolSpeichern = True Then
wkbUnicode.SaveAs Filename:=strName, _
FileFormat:=42, Local:=True '42 = xlUnicodeText
End If
wkbUnicode.Close savechanges:=False
Application.DisplayAlerts = True
Next
Application.ScreenUpdating = True
End Sub

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige