Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten sammeln

Forumthread: Daten sammeln

Daten sammeln
31.07.2013 00:43:05
luna
Hallo, ich bin neu hier und habe eine Frage zu einem bestehenden Code.
Ich möchte in einer Mappe Daten aus anderen Mappen sammeln. Mein Code ist folgender:

Sub Aus_allen()
Dim strDatei As String, strPfad As String, strTyp As String
Dim wbX As Workbook, wksX As Worksheet, wksN As Worksheet
Dim lngCount As Long
Application.ScreenUpdating = False
strPfad = "C:\test"                 'Pfad anpassen
strTyp = "xlsm"                      'Dareityp anpassen
Set wksN = ThisWorkbook.Sheets(4)   'Zieltabelle
lngCount = 2                        'Startzeile in der Zieltabelle
wksN.Range(wksN.Rows(lngCount), wksN.Rows(wksN.UsedRange.Rows.Count + lngCount)).Delete
strDatei = Dir(strPfad & "\*." & strTyp)
Do Until strDatei = ""
Set wbX = Workbooks.Open(strPfad & "\" & strDatei)
Set wksX = wbX.Sheets(5)
wksN.Cells(lngCount, 3) = wksX.Cells(2, 3)
wksN.Cells(lngCount, 4) = wksX.Cells(1, 3)
wksN.Cells(lngCount, 5) = wksX.Cells(2, 4)
lngCount = lngCount + 1
wbX.Close False
strDatei = Dir
Loop
Application.ScreenUpdating = True
End Sub

Wie man erkennen kann lese ich hier immer nur die Daten aus Sheet 5 aus, ich möchte aber alle Daten ab Sheet5 auslesen, wobei es Mappen gibt wo es nur 8 Sheets gibt und in anderen über 100. Wie kann man das ändern.
Vielen dank euch allen
Luna

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Daten sammeln
31.07.2013 10:46:57
Rudi
Hallo,
Sub Aus_allen()
Dim strDatei As String, strPfad As String, strTyp As String
Dim wbX As Workbook, wksX As Worksheet, wksN As Worksheet
Dim lngCount As Long, iWks As Integer
Application.ScreenUpdating = False
strPfad = "C:\test"                 'Pfad anpassen
strTyp = "xlsm"                      'Dareityp anpassen
Set wksN = ThisWorkbook.Sheets(4)   'Zieltabelle
lngCount = 2                        'Startzeile in der Zieltabelle
wksN.Range(wksN.Rows(lngCount), wksN.Rows(wksN.UsedRange.Rows.Count + lngCount)).Delete
strDatei = Dir(strPfad & "\*." & strTyp)
Do Until strDatei = ""
Set wbX = Workbooks.Open(strPfad & "\" & strDatei)
For iWks = 5 To wbX.Sheets.Count
Set wksX = wbX.Sheets(iWks)
wksN.Cells(lngCount, 3) = wksX.Cells(2, 3)
wksN.Cells(lngCount, 4) = wksX.Cells(1, 3)
wksN.Cells(lngCount, 5) = wksX.Cells(2, 4)
lngCount = lngCount + 1
Next iWks
wbX.Close False
strDatei = Dir
Loop
Application.ScreenUpdating = True
End Sub

Gruß
Rudi

Anzeige
AW: Daten sammeln
31.07.2013 14:40:36
luna
Hallo Rudi
Vielen Dank. Jetzt klappt es und ich kann weiter basteln.
Luna
;

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