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