Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Per Makro in csv oder txt Abspeichern.

Per Makro in csv oder txt Abspeichern.
21.04.2014 23:32:24
Dennis
Hallo,
Ich habe eine Mac Version (Excel 2011), was aber nicht zu dem Problem führen sollte, dass ich habe.
Ich habe zwei excel Tabellen mit verschiedenem vba Code.
Das erste soll von der ersten Seite die Daten per csv speichern.
Das zweite soll diese csv importieren.
Beide excel Tabellen funktionieren separat und getrennt von einander.
Ich habe vorhin von der ersten Tabelle manuell, speichern unter und tabulatorgetrennt ausgewählt.
Das konnte ich in der 2. Tabelle via Daten - Text importieren.
Alles soweit so gut.
Nun habe ich den Speicher Vorgang von der 1. Tabelle aufgezeichnet, um mir den Code anzuschauen.
Dann habe ich einen Button hinzugefügt, das Makro (ohne es zu ändern) dem Button zugewiesen und den Button geklickt.
Raus kam zwar auch eine csv Datei, aber die sah vom Inhalt anders aus.
Z.b. Das Datum. Beim manuellen Speichern kam das Format tt.mm.jj, via Makro kommt mm/tt/jj,
Beim importieren sieht es auch komplett anders aus, nicht zu beschreiben, merkwürdige Zeichen.
Habt ihr eine Erklärung, woran das liegt!?
Fehlt ein Argument bei vba, was beim Aufzeichnen weggelassen wurde?
Vielen Dank.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per Makro in csv oder txt Abspeichern.
22.04.2014 10:57:15
Tino
Hallo,
ich habe kein Mac und kann nur einen Vorschlag zum testen geben.
Oder Du änderst Systemweit die Einstellung fürs Datumsformat, was meist nicht umsetzbar ist.
Sub test()
SaveCSV Tabelle1.Range("A1:C10"), ";", "C:\Ordner\MeineCSV.csv"
End Sub
Sub SaveCSV(ByVal rngBereich As Range, ByVal strDelimiter$, ByVal sSavePath$)
Dim n&
Dim strText$
Dim F%
Dim varData
If Dir(sSavePath, vbNormal)  "" Then
Kill sSavePath
End If
F = FreeFile
Open sSavePath For Append As #F
For Each rngBereich In rngBereich.Areas
If rngBereich.Cells.Count = 1 Then
varData = rngBereich.Resize(, 2).Value
ReDim Preserve varData(1 To UBound(varData), 1 To 1)
Else
varData = rngBereich.Value
End If
For n = 1 To UBound(varData)
strText = Join(Application.Index(varData, n), strDelimiter)
Print #F, strText
Next n
Next rngBereich
Close #F
End Sub
Gruß Tino

Anzeige
AW: Per Makro in csv oder txt Abspeichern.
22.04.2014 14:15:23
zesa_suzuki@live.de
Klappt leider nicht .
Es kommt die Meldung Objekt erforderlich und die Zeile mit SaveCSV Tabelle1.Range wird markiert.
Ich habe natürlich die Tabelle entsprechend angepasst.
In der Zwischenzeit habe ich aber herausgefunden, dass man bei bestimmten Exports. z.B. Windows Text es beim Importieren so einstellen kann, dass man beim Importvorgang sagt, was die Dezimalzeichen sind.
Damit wäre das Problem also doch behoben,
da die Englische Datumsanzeige aber noch Probleme macht, macht mir gerade die Umwandlung von MM/TT/YY in TT.MM.YY Probleme =(

AW: Per Makro in csv oder txt Abspeichern.
22.04.2014 16:25:37
Tino
Hallo,
kannst Du mal ein Beispiel Hochladen, wo dieser Code an dieser Stelle hängen bleibt?
Gruß Tino
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige