2017-02-02 2 views
1

Ich bin neu in VBA und hatte einige Erfolge Reverse Engineering VBA mit dem VBA-Recorder. Ich habe jedoch ein Problem beim Erstellen einer CountIfs() - Schleife für alle Zellen mit dem Wert "TT" entweder eine ganze Spalte oder ein dynamischer Bereich einer einzelnen Spalte (mit. End (xldown)/.end (xlup))VBA CountIf() Schleife/Countifs() Schleife

Ich würde meinen Code posten, aber ehrlich gesagt, habe ich so viele verschiedene 'Antworten' zu dieser Frage gefunden, die ich noch nicht an meinen Anwendungsfall anpassen konnte, und ich glaube nicht, dass ich mit irgendeiner individuellen Methodik sehr nahe bin. (Letztendlich muss ich dies zu einem CountIfS() basierend auf anderen Spaltenwerten aber einen Schritt nach dem anderen erweitern) ...

DANKE !!

Antwort

1

Was ist mit diesem einfachen Code ---

Sub vbaCountIF() 
    Dim Rslt 
    Rslt = WorksheetFunction.CountIfs(Range("A:A"), "TT") 
    MsgBox Rslt 
End Sub 
+0

Verwenden Sie eine Schleife für 'andere Spalte values' und geben sie als Kriterien anstelle von' "TT" ' – harun24hr

+0

SWEET! Es klappt. Ich überlegte es wahrscheinlich von Anfang an. Wenn ich zusätzliche Kriterien hinzufügen möchte, was wäre die Countifs-Syntax? –

+0

@ReedTurgeon Sie sollten accpet antworten (Häkchen als grün), wenn es für Sie funktioniert. Für weitere Kriterien müssen Sie 'Range' und' Kriterien' wie 'Rslt = WorksheetFunction.CountIfs (Bereich (" A: A ")," TT ", Bereich (" B: B ")," Hello ")' – harun24hr