Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
444to448
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
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten aus anderen Workbooks lesen

Daten aus anderen Workbooks lesen
24.06.2004 09:54:51
Holger
Moin moin allerseits,
ich habe ein kleines Problem, wo Ihr mir bestimmt helfen könnt.
Ich möchte mit einem Makro aus verschiedenen Excel Workbooks Daten heraus kopieren. Es sind n Workbooks die als Datensammler dienen mit den Datei namen z.B. Erfassung_xx_Monat.xls. xx ist ein variabler Name genauso wie Monat (1-12). Der Aufbau der Daten ist immer der Gleiche.
Wie kann ich nacheinander die vorhandenen Worbooks öffnen? XX und Monat werden sich unterscheiden. Die Reihenfolge ist eigentlich nicht wichtig, da die zukopierenden Daten ein Sortieren zulassen.
Danke schon einmal.
Gruß
Holger

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus anderen Workbooks lesen
Veit
Moin, Moin,
da ich nicht wußte ob die Dateien alle im selben Ordner liegen bin ich einfach mal davon ausgegangen ;-). Daten ist auch äußerst dehnbar und wohin die Daten sollen ...?
Das Makro macht folgendes:
Berücksichtigt werden alle XLS-Dateien im Ordner mit "Erfassung_" am Anfang.
OHNE diese Dateien zu öffnen (Laufzeitoptimierung) werden die Werte der Zellen B2 bis B20 im Blatt1 fortlaufend untereinandergeschrieben:
Sub cmb_send_Click()
Dim rng As Range
Dim arr As Variant
sPath = "C:\test\"
sSheet = "Übersicht"
Dateiname = Dir$(sPath & "*.xls")
If Dateiname = "" Then
MsgBox "garnix vorhanden"
Exit Sub
End If
'mit allen xls-Dateien in diesem Ordner...
Zeile = 1
Do While Dateiname ""
If Left(Dateiname, 10) = "Erfassung_" Then '...die mit "Erfassung_" beginnen
For i = 2 To 20
ref = "R" & i & "C2" 'für die Zeilen B2 bis B20
Zellinhalt = GetValue(sPath, Dateiname, sSheet, ref) 'Übergabe an Funktion
Sheets(1).Cells(Zeile, 1).Value = Zellinhalt 'Eintragen der Werte
Sheets(1).Cells(Zeile, 2).Value = Dateiname
Zeile = Zeile + 1
Next i
End If
Dateiname = Dir$()
Loop
End Sub

Private Function GetValue(path, file, sheet, ref)
Dim arg As String
On Error Resume Next
If Right(path, 1) <> "\" Then path = path & "\"
arg = "'" & path & "[" & file & "]" & sheet & "'!" & ref
GetValue = ExecuteExcel4Macro(arg)
End Function

'vielleicht hilft Dir das ja.
'Gruß
'Ein Veit
Anzeige
AW: Daten aus anderen Workbooks lesen
Holger
Danke für Deine Antwort/Hilfe. Die Dateien sind in einem Ordner.
Klappt prima.
Vielen Dank
Gruß
Holger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige