Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

CSV aus mehreren Sprachen per Makro importieren

CSV aus mehreren Sprachen per Makro importieren
18.11.2019 13:54:31
Tobi
Hallo.
Ich habe ein größeres Problem:
In einem Makro werden Daten aus einer CSV-Datei automatisch importiert. Nun habe ich das Problem, dass ich sowohl CSV-Datein aus von einem deutschen und einem englischen Betriebssystem habe.
setze ich hinter die zu importierende Datei :=local importiert er wunderbar die Daten vom deutschen System aber nicht aus dem Englischen. Lasse ich das local weg geht es genau umgekehrt.
Wie bekomme ich es den hin, dass er beide Versionen einfügt? gibt es hier einen Trick oder die Option eine Art Schleife, If-Bedienung die die Parameter abfragt?
wäre für jeden Typ dankbar :)

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV aus mehreren Sprachen per Makro importieren
18.11.2019 14:36:18
volti
Hallo Tobi,
einen Trick kenne ich auch nicht. Aber ist es nicht so, dass die deutsche Version in der Regel ";"-getrennt ist und "," als Komma verwendet und die englische Version ","-getrennt ist und "." als Komma verwendet.
Dann bietet sich m.E. ein Vorcheck an wie z.B. so:
Sub Test()
 Dim Dateiname As String, Data As String, Typ As String
 Open Dateiname For Binary As #1
 Data = Space(LOF(1)): Get #1, , Data
 Close #1
 If InStr(Data, ";") > 0 And InStr(Data, ".") = 0 Then
 ' deutsch
 Else
 ' english
 End If
End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: CSV aus mehreren Sprachen per Makro importieren
18.11.2019 14:55:45
Tobi
Hallo Karl-Heinz.
Ja genau das ist das Problem....
Gehe ich richtig in der Annahme, dass ich in die von dir mit 'deutsch und 'englisch markierten Bereiche nur noch das richtige Trennzeichen einfügen muss im sinne von Delimeter?
Danke für die Hilfe!
Liebe Grüße
Tobi
AW: CSV aus mehreren Sprachen per Makro importieren
18.11.2019 15:57:08
volti
Ja, genau so könnte es funktionieren. Bei größeren Dateien sollte es mit dem Einlesen lediglich der Überschrift auch schneller gehen...
Sub Test()
 Dim Dateiname As String, Data As String
 Open Dateiname For Input As #1
 Line Input #1, Data: Close #1
 If InStr(Data, ";") > 0 Then
   Delim = ";"
 Else
   Delim = ","
 End If
End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: CSV aus mehreren Sprachen per Makro importieren
18.11.2019 15:47:02
Günther
Moin,
stelle mal eine (anonymisierte) Muster-CSV ein (als *.txt umbenennen oder als ZIP packen), dann kannst du wahrscheinlich auf VBA verzichten.
Gruß
Günther
AW: CSV aus mehreren Sprachen per Makro importieren
18.11.2019 16:55:38
Tobi
Hallo Günther.
Nein das kann ich leider nicht machen, da die Daten Read-Only sind. Auf VBA würden wir gerne verzichten wenn es geht, der Import der CSV-Daten birgt aber leider Fehler die wir umgehen müssen bzw minimieren.
Gruß
Tobi
AW: CSV aus mehreren Sprachen per Makro importieren
18.11.2019 18:33:13
snb
z.B.
Sub M_snb()
c00 = "G:\OF\"
sn = Split("alles_de alles_en")
With CreateObject("scripting.filesystemobject")
For j = 0 To 1
c01 = c00 & sn(j) & ".csv"
c02 = .opentextfile(c01).readall
If InStr(c02, ";") Then .createtextfile(c01).write Replace(c02, ";", ",")
Sheets.Add , Sheets(Sheets.Count), , c01
Next
End With
End Sub

Anzeige
AW: CSV aus mehreren Sprachen per Makro importieren
18.11.2019 19:08:10
Tobi
Hallo snb.
Könntest du mir das evtl genauer erklären? Danke!
AW: CSV aus mehreren Sprachen per Makro importieren
18.11.2019 21:09:32
snb
Lese mal ruhig den Code. (3*)
Verwende F8 im VBEditor.
Dann ist der Code selbsterklärend.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige