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

Zellen aus geschlossenen Dateien auslesen??

Zellen aus geschlossenen Dateien auslesen??
22.06.2005 20:24:23
Marcus
Hallo Ihr Lieben!!!
Habe mal eine Frage und hab dazu leider in der Recherche nicht das passende gefunden.
Und zwar möchte ich aus allen Dateien in einem Ordner die Zellen C11, J8, I8, E33 und E34 der Tabelle1 auslesen und diese dann in einer gesonderten Datei in eine Tabelle schreiben.
Also so:
Spalte A Spalte B Spalte C Spalte D Spalte E
Dat.1!C11 Dat.1!J8 Dat.1!I8 Dat1.!E33 Dat.1!E34
Dat.2!C11 Dat.2!J8 Dat.2!I8 Dat2.!E33 Dat.2!E34
Dat.3!C11 Dat.3!J8 Dat.3!I8 Dat3.!E33 Dat.3!E34
.
.
.
Leider bestehen die Namen der Dateien zum Teil aus Personennamen, sind also demnach immer sehr unterschiedlich.
Gibt´s da ne Lösung für mich?
Wäre super nett!
Liebe Grüße,
Marcus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen aus geschlossenen Dateien auslesen??
23.06.2005 00:59:52
Matthias G
Hallo Marcus,

Sub DateienAuslesen()
Const Pfad = "D:\xl\" 'auszulesendes Verzeichnis
Const Startzeile = 2 'Ausgabe ab Zeile 2
Dim f As String, i As Integer
Dim fn() As String
i = 0
f = Dir(Pfad & "*.xls")
'Dateinamen einlesen
Do While f <> ""
i = i + 1
ReDim Preserve fn(1 To i) As String
fn(i) = f
f = Dir()
Loop
'Werte aus Dateien auslesen
For i = 1 To UBound(fn)
Debug.Print fn(i)
Cells(Startzeile + i - 1, 1) = GetValue(Pfad, fn(i), "Tabelle1", "C11")
Cells(Startzeile + i - 1, 2) = GetValue(Pfad, fn(i), "Tabelle1", "J8")
Cells(Startzeile + i - 1, 3) = GetValue(Pfad, fn(i), "Tabelle1", "I8")
Cells(Startzeile + i - 1, 4) = GetValue(Pfad, fn(i), "Tabelle1", "E33")
Cells(Startzeile + i - 1, 5) = GetValue(Pfad, fn(i), "Tabelle1", "E34")
f = Dir()
Next
End Sub
'The GetValue function, listed below takes four arguments:
'path: The drive and path to the closed file (e.g., "d:\files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")
Function GetValue(path, file, sheet, ref)
' Retrieves a value from a closed workbook
Dim arg As String
' Make sure the file exists
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
' Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
' Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function

Gruß Matthias
Anzeige
AW: Zellen aus geschlossenen Dateien auslesen??
23.06.2005 20:17:03
Marcus
Hallo Matthias,
vielen Dank für die Lösung, klappt wunderbar, bin leider erst jetzt dazu gekommen sie auszuprobieren.
Liebe Grüße,
Marcus
Daten aus geschlossenen Dateien auslesen??
30.06.2005 17:09:37
Jürg Steinauer
Hallo
Habe folgendes Problem: Möchte aus geschlossenen Excel-Dateien, welche sich in einem Ordner (allenfalls auch in Unterordnern) befinden verschiedene Daten per VBA auslesen.
Die auszulesenden Excel-Dateien haben alle mehrere Blätter. Ich möchte die Daten in Form einer Datenbank in eine Excel-Datei oder auch in eine Access-DB schreiben.
Ein Datensatz der Datenbank beinhaltet jeweils eine Org.-Einheit, ein Konto sowie einen Wert. jeder Datensatz müsste in eine Zeile geschrieben werden.
Schön wäre, wenn man das Auslesen resp. Schreiben des Datensatzes von folgender Prüfung abhängig machen könnte:
1. Prüfung: Falls Konto = "", dann kein Datensatz schreiben
2. Prüfung: Falls Wert = 0 oder "", dann kein Datensatz schreiben
Wenn diese Prüfung ins Programm eingebunden werden kann, ergeben sich ca. 30000 Datensätze, sonst 155000, was das Schreiben in eine Acces-DB erforderlich machen würde.
Die Datensätze setzen sich wie erwähnt aus folgenden Bestandteilen zusammen: Org.-Einheit, Konto, Wert. Die Org.-Einheit würde aus allen Files immer aus dem Blatt("ÜBERS"), Zelle (D3) geholt. Das Konto befindet sich immer im gleichnnamigen Blatt("ÜBERS"), Spalte F, ab Zeile 26 bis Zeile 861. Die Werte befinden sich alle in Spalte K des Blattes ("ÜBERS"), jeweils gleiche Zeile wie das Konto.
Ich hoffe, die Beschreibung meines Problems ist einigermassen verständlich ;) Für Hilfe bedanke ich mich bereits im Voraus!!
Gruss,
Jürg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige