Surtia
Lieutenant
- Registriert
- Feb. 2008
- Beiträge
- 940
Ich habe ein Mini-Makro getippt, was mir die Anzahl der ausgefüllten Zellen eines bestimmten Bereichs eines Registerblatts ausgibt. In diesem Fall wird die Anzahl der Zeile 1 von A-H in die Zelle J1 ausgegeben.
Auszug aus Excel-Tabelle Registerblatt 1
Wie im Beispiel zu erkennen ist habe ich 3 Bereiche (Zeile 1, 4 und 7) in beiden Registerblätter.
Ich möchte, dass die Range für jeden Durchlauf um 3 Zeilen weiter rückt.
Jedoch nicht über eine If-Anweisung, die im ersten Durchlauf ("A1:H1") festsetzt, dann ("A4:H4") und zuletzt ("A7:H7").
Wie kann ich das realisieren?
Leider bin ich bisher nicht fündig geworden.
Code:
Sub Anzahl()
Dim Range As Range
For i = 1 To Sheets.Count
Set ZRB = ThisWorkbook.Sheets(i)
Set Range = ZRB.Range("A1:H1")
k = Application.WorksheetFunction.CountA(Range)
ZRB.Range("J1") = k
Next
End Sub
Auszug aus Excel-Tabelle Registerblatt 1
A | B | C | D | E | F | G | H | I | J | |
---|---|---|---|---|---|---|---|---|---|---|
1 | 10 | 20 | Hi | 40 | 70 | 99 | 6 | |||
2 | ||||||||||
3 | ||||||||||
4 | 11 | Hugo | Test | 100 | ||||||
5 | ||||||||||
6 | ||||||||||
7 | Müll | 22 | 44 | 66 | Welt | 3000 | 20 | |||
8 |
Wie im Beispiel zu erkennen ist habe ich 3 Bereiche (Zeile 1, 4 und 7) in beiden Registerblätter.
Ich möchte, dass die Range für jeden Durchlauf um 3 Zeilen weiter rückt.
Jedoch nicht über eine If-Anweisung, die im ersten Durchlauf ("A1:H1") festsetzt, dann ("A4:H4") und zuletzt ("A7:H7").
Wie kann ich das realisieren?
Leider bin ich bisher nicht fündig geworden.
Zuletzt bearbeitet: