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

Forumthread: Auswertung über alle Sheets in einer Datei

Auswertung über alle Sheets in einer Datei
05.04.2006 22:40:39
Peter
Guten Abend
Ich habe eine Datei mit hundert Worksheets. Nun möchte ich im letzten Worksheet eine kleine Auswertung machen.
In der Spalte B möchte ich ab Zeile 4 alle Namen der Worksheets auflisten; in der Spalte C möchte ich ab Zeile 4 die Anzahl der Zahlen, die in den jeweiligen Sheets in Spalte D enthalten sind ausgeben. Gibt es eine elegantere Version, als die Worksheets durch Abtippen zu erfassen und anschliessend mit einer "Anzahl" Formel zu arbeiten?
Danke für jedes Feedback.
Peter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Auswertung über alle Sheets in einer Datei
05.04.2006 23:07:56
Beni
Hallo Peter,
die Ergebnistabelle muss am Schluss sein.
Gruss Beni

Sub Makro1()
Dim actsh, sh, wsh, lz, lr As Long
actsh = Sheets.Count
Set wsh = Sheets(actsh)
For sh = 1 To Sheets.Count - 1
With Sheets(sh)
lz = .Cells(65536, 4).End(xlUp).Row
lr = wsh.Cells(65536, 3).End(xlUp).Row + 1
If lr < 4 Then lr = 4
wsh.Cells(lr, 2) = Sheets(sh).Name
wsh.Cells(lr, 3) = WorksheetFunction.CountA(Range(.Cells(1, 4), .Cells(lz, 4)))
End With
Next sh
End Sub

Anzeige
AW: Auswertung über alle Sheets in einer Datei
06.04.2006 14:34:02
Peter
Hallo Beni
Dein Beitrag hat mir entscheidend geholfen; ich habe dann allerdings die Abfrage noch etwas modifiziert, damit mir NULL Werte, die nicht zu zählen sind, nicht einen Strich durch die Rechnung machen.
Nachfolgend meine def. Version.
Danke und Gruss, Peter
Option Explicit

Sub Statistik_aktualisieren()
Dim sh, wsh, lr, not_Empty, is_Zero, is_Value As Long
Set wsh = Sheets("Statistik")
wsh.Columns("M:N").ClearContents
For sh = 4 To Sheets.Count - 4
With Sheets(sh)
lr = wsh.Cells(65536, 14).End(xlUp).Row + 1
If lr < 4 Then lr = 4
wsh.Cells(lr, 13) = Sheets(sh).Name
not_Empty = WorksheetFunction.Count(.Columns(18))
is_Zero = WorksheetFunction.CountIf(.Columns(18), 0)
is_Value = not_Empty - is_Zero
wsh.Cells(lr, 14) = is_Value
End With
Next sh
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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