CSV Datei per Makro öffnen und kopieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: CSV Datei per Makro öffnen und kopieren
von: Johanna
Geschrieben am: 31.08.2015 14:27:27

Hallo!
Ich habe folgendes Problem: Ich möchte per Klick auf einen commandButton eine CSV Datei auswählen und die darin enthaltenen Daten (eine Matrix) in meine aktuelle Arbeitsmappe kopieren, sodass ich nachher damit arbeiten kann.
Ich habe zwar schon ein paar Mal etwas programmiert, wo man Dateien über ein Dialogfeld öffnet und kopiert, aber noch nie eine CSV Datei. Das Problem bei dieser ist ja, dass die Spalten bei uns durch ein Semikolon getrennt sind, in Amerika aber durch einen simplen Beistrich und Excel das Semikolon nicht als Trenner versteht, wenn man es über ein Makro aufmachen möchte. Das heißt, dass ich die ganze Zeile in einem durch in einer Zelle stehen habe und nicht auf die verschiedenen Spalten aufgeteilt. Ich muss ihm also irgendwie klar machen, dass er das Semikollon als Delimiter ansehen soll. Makroaufzeichnungen helfen in diesem Fall leider absolut nicht weiter und aus den Beiträgen im Internet werde ich nicht ganz schlau. Vielleicht kann mir ja hier jemand helfen.
Mein Code ist noch sehr simpel und sieht momentan so aus:
Dim name, b As String
Dim source As Workbook, ws1 as Worksheet
b = "Import"
name = Application.GetOpenFilename()
If name <> "Falsch" Then
Set source = Workbooks.Open(name)
Set ws1 = source.Worksheets(1)
With ws1
.Cells.Copy ThisWorkbook.Worksheets(b).Cells
source.Close
Application.CutCopyMode = False
End With
End If

Bild

Betrifft: AW: CSV Datei per Makro öffnen und kopieren
von: Johanna
Geschrieben am: 31.08.2015 14:48:59
Habe es gerade selbst herausgefunden, aber für den Fall, dass mal jemand ähnlich verzweifelt wie ich danach sucht:
Die Zeile:
Set source = Workbooks.Open(name)
erweitern durch:
Set source = Workbooks.Open(Filename:=name, Local:=True)
Local:=True bedeutet nur, dass die lokalen Einstellungen (also Semikolon als Trennzeichen anerkennen) übernommen werden. Hatte davon schon gelesen, wusste nur nicht wie ich es richtig anwenden soll.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "CSV Datei per Makro öffnen und kopieren"