Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zellen aus verschiedenen dateien auslesen

zellen aus verschiedenen dateien auslesen
16.06.2008 16:14:30
Raphael
hallo zusammen
gerne möchte ich aus diversen exceldateien verschiedene zellen auslesen. ich habe dies mal mit dem folgenden code funktioniert. dieser funktioniert auch, problem habe ich aber jetzt, da in den einzelnen dateien die gewünschten zellen nicht im erste sheet ist sondern in einem andern mit dem namen "verschiedeneinfos"
besten dank für eure hilfe
raphi
mein code:

Sub DatenEinlesen()
' Daten aus mehreren Dateien in eine neue Datei einlesen
Dim wkbNeu As Workbook, wksDataSheet As Worksheet, Pfad As String
Dim Datei As Variant, I As Integer, J As Integer, Zellen As Variant, Titel As Variant
Pfad = "Y:\AusDateiAuslesen\Daten" ' Pfad der Daten-Dateien anpassen
'Spaltentitel anpassen bzw. ergänzen
Titel = Array("Namen", "Spezialist", "Berater")
'Zellen die ausgelesen werden sollen. Liste anpassen bzw. ergänzen
'Zellen in der Reihenfolge der Spaltentitel angeben
Zellen = Array("F8", "F26", "F28")
' Neue Arbeitsmappe öffen , alternativ hier eine leere Musterdatei öffnen
Workbooks.Add Template:="Arbeitsmappe"
Set wkbNeu = ActiveWorkbook
' Daten-Dateien suchen
Datei = Dir(Pfad & "\eingabe*.XLS") ' Suchstring für EXCEL-Dateien anpasssen
' Spaltentitel setzen, kann bei Musterdatei entfallen
For J = 0 To UBound(Titel)
wkbNeu.Sheets(1).Cells(1, J + 1) = Titel(J)
Next J
I = 2 'Startzeile für Daten in neuer Datei
Do Until Datei = ""
' Daten-Datei öffnen
Application.ScreenUpdating = False
Workbooks.Open Pfad & "\" & Datei
Set wksDataSheet = ActiveWorkbook.Sheets(1)
' Daten in neue Datei übertragen
For J = 0 To UBound(Zellen)
wkbNeu.Sheets(1).Cells(I, J + 1) = wksDataSheet.Range(Zellen(J))
Next J
' Daten-Datei wieder schließen
ActiveWorkbook.Close False
Datei = Dir
I = I + 1
Application.ScreenUpdating = True
Loop
wkbNeu.Activate
' Neue Arbeitsmappe speichern
Application.Dialogs(xlDialogSaveAs).Show
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: zellen aus verschiedenen dateien auslesen
16.06.2008 19:18:00
fcs
Hallo raphi,
der Code kommt mir irgendwie bekannt vor. Schön dass du ihn gefunden hast und gebrauchenkannst.
Passe die folgende Zeile an:

Set wksDataSheet = ActiveWorkbook.Sheets(1)
ändern in
Set wksDataSheet = ActiveWorkbook.Sheets("verschiedeneinfos")


Es muss nur sichergestellt sein, dass in jeder Datei auch ein Blatt mit diesem Namen ist, sonst kommt es zu einem Fehler mit Makro-Abbruch. ggf. muss noch eine kleine Feherbehandlung eingebaut werden.
Nachfolgend die Prozedur mit Fehlerbehandlung.
Gruß
Franz


Sub DatenEinlesen()
' Daten aus mehreren Dateien in eine neue Datei einlesen
Dim wkbNeu As Workbook, wksDataSheet As Worksheet, Pfad As String
Dim Datei As Variant, I As Integer, J As Integer, Zellen As Variant, Titel As Variant
Dim intFehler As Integer
On Error GoTo Fehler
Pfad = "Y:\AusDateiAuslesen\Daten" ' Pfad der Daten-Dateien anpassen
'Spaltentitel anpassen bzw. ergänzen
Titel = Array("Namen", "Spezialist", "Berater")
'Zellen die ausgelesen werden sollen. Liste anpassen bzw. ergänzen
'Zellen in der Reihenfolge der Spaltentitel angeben
Zellen = Array("F8", "F26", "F28")
' Neue Arbeitsmappe öffen , alternativ hier eine leere Musterdatei öffnen
Workbooks.Add Template:="Arbeitsmappe"
Set wkbNeu = ActiveWorkbook
' Daten-Dateien suchen
Datei = Dir(Pfad & "\eingabe*.XLS") ' Suchstring für EXCEL-Dateien anpasssen
' Spaltentitel setzen, kann bei Musterdatei entfallen
For J = 0 To UBound(Titel)
wkbNeu.Sheets(1).Cells(1, J + 1) = Titel(J)
Next J
I = 2 'Startzeile für Daten in neuer Datei
Do Until Datei = ""
' Daten-Datei öffnen
Application.ScreenUpdating = False
Workbooks.Open Pfad & "\" & Datei
intFehler = 1
Set wksDataSheet = ActiveWorkbook.Sheets("verschiedeneinfos")
intFehler = 0
' Daten in neue Datei übertragen
For J = 0 To UBound(Zellen)
wkbNeu.Sheets(1).Cells(I, J + 1) = wksDataSheet.Range(Zellen(J))
Next J
Weiter01:
' Daten-Datei wieder schließen
ActiveWorkbook.Close False
Datei = Dir
I = I + 1
Application.ScreenUpdating = True
Loop
wkbNeu.Activate
' Neue Arbeitsmappe speichern
Application.Dialogs(xlDialogSaveAs).Show
Fehler:
If Error  0 Then
Select Case intFehler
Case 1 'Fehler beim setzen des auszulesenden Blatts
MsgBox "in Datei """ & Datei & """ fehlt das Blatt ""verschiedeneinfos""!"
Resume Weiter01
Case Else
MsgBox "Fehler-Nr. " & Err.Number & " ist aufgetreten!" & vbLf & Err.Description
End Select
End If
End Sub


Anzeige
AW: zellen aus verschiedenen dateien auslesen
17.06.2008 15:29:00
Raphael
Besten Dank für die Tolle Hilfestellung... kleien Zusatzfrage, wie kann ich auch die Unterordner von
(Pfad = "Y:\AusDateiAuslesen\Daten") mit einbeziehen?
Gruss Raphi

Crossposting
17.06.2008 18:40:00
Reinhard
Hallo Franz,
auch mir kam der Code bekannt vor, diese Anfrage wurde auch in einem anderen Forum heute mittag gestellt von Raphael und ich habe sie ähnlich wie du beantwortet. da wußte ich aber noch nichts von deiner Antwort :-(
Raphaels Zusatzanfrage mit einem Codebeipiel für eine Filesearchroutine mit Searchsubfolder habe ich andernorts auch schon beantwortet.
Nur mal so als Info für dich :-)
Gruß
Reinhard
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige