Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige