Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen aus geschlossenen Dateien auslesen??

Forumthread: 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
Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige