Zählen über ganze Arbeitsmappe-> Makro

Bild

Betrifft: Zählen über ganze Arbeitsmappe-> Makro
von: Andy
Geschrieben am: 07.05.2015 18:04:56

Hallo zusammen,
nach längerer suche mit Google möchte ich mich mit meinem Problem an euch wenden, da ich eher ein Neuling auf dem Gebiet bin und langsam nicht mehr weiter wies.
Folgende Ausgangssituation:
In der Arbeitsmappe habe ich 5 Tabellenblätter mit Listen und die erste mit einer Übersicht. Alle weiteren sind mit Nummern benannt z.B 1050100 fortlaufend
Jetzt möchte ich mit einem Makro die nummerierten Tabellenblätter durchsuchen und zählen, in wie vielen Tabellen in der Zelle "C75" eine "1" steht sowie gleichzeitig in Zelle "J7" eine "4". Das Ergebnis des Zählvorganges soll dann in der Tabelle "Übersicht" in die Zelle "C59" eingetragen werden.
Es sollte auch so sein, dass man ohne Probleme weitere Tabellenblätter hinzufügen kann, ohne das Makro zu ändern.
Vielen Dank für eure Hilfe.

Bild

Betrifft: AW: Zählen über ganze Arbeitsmappe-> Makro
von: Klaus M.vdT.
Geschrieben am: 07.05.2015 18:22:40
Hallo Andy,
nicht so kurz wie möglich, dafür einfachst änderbar und erweiterbar. Den Namen deiner Übersichts-Tabelle musst du einmalig fix eintragen, ich bin mal von "Tabelle1" ausgegangen. Die Namen und Anzahl aller anderen Tabellen sind dem Makro egal - fortlaufend, nicht fortlaufend ... alles geht.

Option Explicit
Sub ZaehleObInZellen1und4vorkommt()
Const NameTabelleEins As String = "Tabelle1"  'hier den Namen deiner ersten Tabelle eintragen!
Const EintragTabelleEins As String = "C59"  'hier kommt das Ergebniss rein
Const Zelle1 As String = "C75"              'Zelle
Const Zahl1 As Long = 1                     'Prüfwert
Const Zelle2 As String = "J4"               'zweite Zelle
Const Zahl2 As Long = 4                     'zweiter Prüfwert
Dim Zaehler As Long
Dim MeineTabellen As Long
Zaehler = 0
For MeineTabellen = 1 To Worksheets.Count
    With Sheets(MeineTabellen)                          'in der x-ten Tabelle schauen
        If Not .Name = NameTabelleEins Then             'Wenn es nicht die Übersicht ist, dann
            If .Range(Zelle1).Value = Zahl1 Then        'erste Prüfung
                If .Range(Zelle2).Value = Zahl2 Then    'zweite Prüfung
                    Zaehler = Zaehler + 1               'Counter erhöhen falls beide Prüfungen  _
zutreffen
                End If
            End If
        End If
    End With
Next MeineTabellen
Sheets(NameTabelleEins).Range(EintragTabelleEins).Value = Zaehler
End Sub
Grüße,
Klaus M.vdT.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zählen über ganze Arbeitsmappe-> Makro"