Anzeige
Archiv - Navigation
1688to1692
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
Inhaltsverzeichnis

Auslesen von Daten aus geschlossenen Dateien

Auslesen von Daten aus geschlossenen Dateien
07.05.2019 12:06:18
Daten
Hallo Forum
ich würde gerne aus einem Ordner von 120 Excel-Dateien bestimmte Werte auslesen und untereinander auflisten.
C7 nach b2:B122,
c12 nach c2:c122,
f12 (Datum) nach d2:d122,
d19 nach e2:e122,
e19 nach f2:f122,
f19 nach g2:g122
g19 nach h2:h122
gibt es ein VBA das dies lösen kann ? Besten Dank für eure Antworten und Bemühungen.
Grüsse Jürg

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auslesen von Daten aus geschlossenen Dateien
07.05.2019 12:11:20
Daten
Hallo Jürg,
Option Explicit
Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, sourceSheet As String, _
SourceRange As String, TargetRange As Range) As Boolean
'Holt einen Bereich aus einer _geschlossenen_ Arbeitsmappe
'Nur in VBA zu verwenden; nicht aus einer Tabellenzelle heraus
'© t.ramel@mvps.org
' wird durch die HoleDaten aufgerufen
Dim strQuelle       As String
Dim Zeilen          As Long
Dim Spalten         As Byte
On Error GoTo InvalidInput
strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & sourceSheet & "'!" & Range( _
SourceRange).Cells(1, 1).Address(0, 0)
Zeilen = Range(SourceRange).Rows.Count
Spalten = Range(SourceRange).Columns.Count
With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
.Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
.Value = .Value
End With
GetDataClosedWB = True
Exit Function
InvalidInput:
MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", vbExclamation, "Get data from  _
closed Workbook"
GetDataClosedWB = False
End Function
Public Sub HoleDaten()
' Die Funktion arbeitet mit der obrigen GetDataClosedWB zusammen
Dim Pfad            As String
Dim Dateiname       As String
Dim Blatt           As String
Dim Bereich         As String
Dim Ziel            As Range
Pfad = "L:\Eigene Dateien\Hajo\Internet\Test\2009\"
Dateiname = "Beispiel Forum 30.xlsm" ' aus welcher Datei soll er holen?
Blatt = "Tabelle1"  ' von welcher Tabelle soll er holen?
Bereich = "A1:B9"   ' aus welchem Bereich soll er holen?
Set Ziel = ActiveSheet.Range("A1")  ' in welchen Bereich soll er kopieren? Genauer gesagt:  _
Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht auch
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
MsgBox "Daten importiert"
End If
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Auslesen von Daten aus geschlossenen Dateien
07.05.2019 12:33:13
Daten
Hallo Hajo
vielen Dank für deinen Beitrag . wie kann man es anpassen dass es mehrere files ausliest und diese untereinander auflistet?
Besten dank
fGrüsse
Jürg
AW: Auslesen von Daten aus geschlossenen Dateien
07.05.2019 12:35:21
Daten
mache eine Schleife rum und Trage die Werte in die Tabelle.
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Gruß Hajo
Anzeige
AW: Auslesen von Daten aus geschlossenen Dateien
07.05.2019 12:16:52
Daten
Hallo,
Sub aaa()
Dim s As String, n As Long
Dim ws As Worksheet
Const p As String = "c:\test\"
Application.ScreenUpdating = False
n = 1
s = Dir(p & ".xlsx", vbNormal)
Do While s  ""
n = n + 1
Set ws = Workbooks.Open(p & s).Sheets(1)
With ThisWorkbook.Sheets(1)
.Cells(n, 2) = ws.Range("C7")
.Cells(n, 3) = ws.Range("C7")
.Cells(n, 4) = ws.Range("F12")
'etc
End With
ws.Parent.Close False
s = Dir
Loop
End Sub

Gruß
Rudi
AW: Auslesen von Daten aus geschlossenen Dateien
07.05.2019 12:35:22
Daten
Hallo Rudi
so ganz toll kenne ich mich im VBA au nicht aus
kannst du mir noch das cells (n,2) näher erklären ?
.Cells(n, 2) = ws.Range("C7")
.Cells(n, 3) = ws.Range("C7")
.Cells(n, 4) = ws.Range("F12")
Danke
Gruss
Jürg
Anzeige
Cells(Zeile, Spalte) owT
07.05.2019 12:53:18
Rudi
AW: Auslesen von Daten aus geschlossenen Dateien
07.05.2019 12:59:07
Daten
Hallo urg,
mir scheint ich bin Blind. Ich kopnnte die Auflistung der Dateien, der Tabellen und der Bereiche nicht sehen.
Das hast Du bestimmt nicht hingeschrieben da Du die Lösung selber an Deine Bedingungen anpasen wollest.
Viel Erfolg. Ich bin dann raus da Lösung erstellt.
Public Sub HoleDaten()
' Die Funktion arbeitet mit der obrigen GetDataClosedWB zusammen
Dim Pfad            As String
Dim Dateiname       As String
Dim Blatt           As String
Dim Bereich         As String
Dim Ziel            As Range
Dim Razelle As Range
Dim LoI As Long
Dim Loletzte As Long
Dim Loletzte2 As Long
Set Ziel = ActiveSheet.Cells(1, ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + _
1)
' in welchen Bereich soll er kopieren? Genauer gesagt: _
Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht auch
If Range("G1")  "" Then
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 7)), Cells(Rows.Count, 7).End(xlUp).Row, Rows. _
Count)
For LoI = 1 To Loletzte
Pfad = Cells(LoI, 7)
Dateiname = "hayo.xlsm" ' aus welcher Datei soll er holen?
Blatt = Cells(LoI, 8)  ' von welcher Tabelle soll er holen?
Bereich = Cells(LoI, 9)  ' aus welchem Bereich soll er holen?
Set Ziel = ActiveSheet.Range("A1")  ' in welchen Bereich soll er kopieren? Genauer  _
gesagt: _
Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht  _
auch
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
MsgBox "Daten importiert"
End If
Next LoI
End If
End Sub
Gruß Hajo
Anzeige
AW: Auslesen von Daten aus geschlossenen Dateien
07.05.2019 13:21:55
Daten
Hallo Hajo
ich dachte das sei in der Fragestellung von mir klar was ich wollte .
trotzdem vielen Dank .
Gruss
Jürg
AW: Auslesen von Daten aus geschlossenen Dateien
07.05.2019 20:28:29
Daten
Hi
wenn du dich mit VBA nicht auskennst, dann ggf so:
1. Schreibe das Verzeichnis nach A1 (oder in eine andere dir genehme Zelle), bis zum zu durchsuchenden Ordner mit abschließendem "\": C:\...\...\
2. Schreibe die 120 Dateinamen in die Zellen A2:A121
3. Schreibe die Zelladressen, die du in der jeweiligen Spalte auslesen willst, in die Zellen B1:H1 als normalen Text, dh in B1 kommt "C7" in C1 kommt "C12" in D1 kommt "F12" usw
4. schreibe in die Zelle B2 folgende Formel und ziehe sie bis H121:. diese Formel sollte dir den jeweiligen Zellbezug als Textstring liefern, dh der angezeigte Text muss so aussehen wie die korrekte For mel.
="='"&$A$1&"["&$A2&"]Tabelle1'!"&B$1
5. markiere die Formeln in B2:H121 und füge sie an gleicher Stelle als Wert ein
6. markiere die Zellen B2:H121 und ersetze mit der ERSETZEN-Funktion das "=" durch "=".
klingt wiedersinnig, aber beim Ersetzen prüft Excel nochmal, ob die neu erzeugten Texte eine Formel sien könnten und wenn ja, wird der Text in diese Formel umgewandelt.
Gruß Daniel
Anzeige
AW: Auslesen von Daten aus geschlossenen Dateien
08.05.2019 13:24:39
Daten
Hallo Daniel
vielen dank für deine Beschreibung und Formel. bin noch am herausfinden wie es geht .. habe bemerkt, dass viele Leerschläge vorhanden sind .
Besten Dank
grüsse
Jürg

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige