VBA CSV Datein Import

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

Betrifft: VBA CSV Datein Import
von: Petra
Geschrieben am: 03.11.2015 12:52:47

Halli Hallo Zusammen,
ich verzweifele seit Tage an folgendem Problem und hoffe es kann mir jemand weiter helfen.
Ich möchte viele, identisch aufgebaute (Daten von A bis H) .CSV Dateien per Macro in eine Excel Datei importieren, mit tabstopp getrennt.
Dazu habe ich bei www.j-hennekes.de eine tolle Vorlage gefunden.
Diese Vorlage funktioniert fabelhaft, nur leider trennt Sie meine CSV Datein nicht an der Stelle des Tabstopps, sondern bei jedem Kommata.
Kann mir jemand helfen???
Also hier die Vorlage:
On Error GoTo errExit
Dim WBQ As Workbook
Dim WBZ As Workbook
Dim varDateien As Variant
Dim lngAnzahl As Long
Dim lngLastQ As Long

Set WBZ = ActiveWorkbook
'Altdaten auf Zielblatt löschen
WBZ.Worksheets(1).Range("A2:IV65536").ClearContents

varDateien = _
Application.GetOpenFilename("Datei (*.csv),*.xls", False, "Bitte gewünschte Datei(en) markieren", False, True)

With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With

For lngAnzahl = LBound(varDateien) To UBound(varDateien)
Set WBQ = Workbooks.Open(Filename:=varDateien(lngAnzahl))
lngLastQ = WBQ.Worksheets(1).Range("A65536").End(xlUp).Row
WBQ.Worksheets(1).Range("A2:Z" & lngLastQ).Copy _
Destination:=WBZ.Worksheets(1).Range("A" & WBZ.Worksheets(1).Range("A65536").End(xlUp).Row + 1)
WBQ.Close
Next

With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With

MsgBox "Es wurden " & UBound(varDateien) & " Dateien zusammengefügt.", 64

Exit Sub

errExit:
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With

If Err.Number = 13 Then
MsgBox "Es wurde keine Datei ausgewählt"
Else
MsgBox "Es ist ein Fehler aufgetreten!" & vbCr _
& "Fehlernummer: " & Err.Number & vbCr _
& "Fehlerbeschreibung: " & Err.Description
End If

End Sub

Bild

Betrifft: AW: VBA CSV Datein Import
von: Rudi Maintaire
Geschrieben am: 03.11.2015 13:09:00
Hallo,
versuchs mal mit

'......
For lngAnzahl = LBound(varDateien) To UBound(varDateien)
 Set WBQ = Workbooks.OpenText(Filename:=varDateien(lngAnzahl), Datatype:=xldelimited, tab:=true) _
 lngLastQ = WBQ.Worksheets(1).Range("A65536").End(xlUp).Row
 WBQ.Worksheets(1).Range("A2:Z" & lngLastQ).Copy _
 Destination:=WBZ.Worksheets(1).Range("A" & WBZ.Worksheets(1).Range("A65536").End(xlUp).Row + 1) _
 WBQ.Close
 Next
'......

Gruß
Rudi

Bild

Betrifft: AW: VBA CSV Datein Import
von: Petra
Geschrieben am: 03.11.2015 13:35:08
Danke für die schnelle Antwort!
ich habe es direkt ausprobiert und bin auf folgende Fehlermeldung gestoßen:
https://www.herber.de/bbs/user/101211.jpg

Bild

Betrifft: AW: VBA CSV Datein Import
von: Rudi Maintaire
Geschrieben am: 03.11.2015 13:52:57
nächster Versuch

'......
 For lngAnzahl = LBound(varDateien) To UBound(varDateien)
  Workbooks.OpenText Filename:=varDateien(lngAnzahl), Datatype:=xldelimited, tab:=true
  Set WBQ = ActiveWorkBook 
  lngLastQ = WBQ.Worksheets(1).Range("A65536").End(xlUp).Row
  WBQ.Worksheets(1).Range("A2:Z" & lngLastQ).Copy _
  Destination:=WBZ.Worksheets(1).Range("A" & WBZ.Worksheets(1).Range("A65536").End(xlUp).Row +  _
1) _
 
  WBQ.Close
  Next
 '......


Bild

Betrifft: AW: VBA CSV Datein Import
von: Petra
Geschrieben am: 03.11.2015 16:41:17
Vielen Dank Rudi!
Das klappt wunderbar, super das es so hilfsbereite Menschen wie dich gibt :) !

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA CSV Datein Import"