Daten aus mehreren excel dateien zusammenführen

Hallo!

ich habe ein kleines Problem:

ich habe ca. 50 einzelnen Excel Dateien die sinngemäß nummeriert sind
(a1, a2, a3…a9, b1, b2…b9,c1…), alle in einem Ordner.
Es handelt sich um eine Datenbank. Jede Datei hat in der ersten Zeile
von A-P etwas stehen (A1: Name, B1: Vorname … P1: email).
Ich möchte die Daten der 50 Dateien ohne „copy paste“ zusammenführen.

Ich habe etwas gefunden was ich bei Makros im VB-Editor unter „diese
Arbeitsmappe“ dann „allgemein“ rein kopiert habe:

Sub Sammeln()
Dim FName$, FCount%, R%, c%, nC, i&
Dim Bereich As Range
Dim FileArray()
Dim ProcessCounter As Integer
Application.ScreenUpdating = False
ChDrive „c“
ChDir „c:\dokumente und einstellungen\massimo di
santo\desktop\aria\münchen“
FName = Dir("*.csv")

Do While FName „“
FCount = FCount + 1
ReDim Preserve FileArray(1 To FCount)
FileArray(FCount) = FName
FName = Dir()
Loop

i = 1

For ProcessCounter = 1 To FCount
Application.DisplayAlerts = False
Workbooks.Open FileArray(ProcessCounter)
On Error Resume Next
R = Cells.Find("*", [a1], , , xlByRows, _
xlPrevious).Row
c = Cells.Find("*", [a1], , , _
xlByColumns, xlPrevious).Column
If Err = 91 Then GoTo WEITER1
Set Bereich = ActiveWorkbook.Worksheets(1) _
.Range(Cells(1, 1), Cells(R, c))
Bereich.Copy Tabelle1.Cells(i, 1)
i = i + R + 1
On Error GoTo 0
WEITER1:
ActiveWorkbook.Close
Application.DisplayAlerts = True
Next ProcessCounter
End Sub

An sich funktioniert es, allerdings sind die Daten jetzt alle in
einer Zelle (A1: Name Vorname…Email, B1 leer, C1 leer…, A2:
Name…B2 leer…)

Falls ihr die Programmierung verbessern könnt, oder eine andere, bessere Idee hättet, wäre ich sehr froh und dankbar.

Liebe Grüße
Aria

So ganz verstehen tue ich es nicht, dass es beim Einlesen einer csv-Datei nicht mit den Trennzeichen klappt (auch nicht wenn das Trennzeichen explizit gesetzt wird).

Wenn die die folgende Kode

R = Cells.Find("*", [a1], , , xlByRows, _
xlPrevious).Row
c = Cells.Find("*", [a1], , , _
xlByColumns, xlPrevious).Column

ersetzt durch

With Range(„A1“).CurrentRegion

.TextToColumns DataType:=xlDelimited
R = .Rows.Count
c = .Columns.CountEnd With

läuft es auf alle Fälle, wie Du vorgesehen hast.

Grüsse,
Salsero