Ich weiß nicht, wie ich diese Aufgabe erledigen soll. Ich muss einen Bereich in einem Blatt zählen, wenn mindestens eines der Wörter in einer Zelle in diesem Bereich einem Array entspricht. Wenn z. B. Zelle "B2"
einen Satz mit einem der Wörter enthält, die sich im Array befinden, zählt sie als Eins, und einfach countif
ein Bereich, wenn sie mit einem Array übereinstimmt. Mein Code wird meine Frage besser anzeigen, also entschuldige ich mich, wenn das überhaupt verwirrend ist.VBA - Countif Range stimmt mit mindestens einem Wert von Array
With ThisWorkbook
Dim Keywords As Variant
Dim iVal As Double
keyword = Array("*cold*", "*hot*", "*warm*", "*cool*", _
"*temp*", "*thermostat*", "*heat*", "*temperature*", _
"*not working*", "*see above*", "*broken*", "*freezing*", _
"*warmer*", "*air conditioning*", "*humidity*", _
"*humid*")
iVal=Application.WorksheetFunction.CountIf(Range("B2",Range("B2").End(xlDown)),keyword)
Dim rep As Worksheet
Set rep = Worksheets("Report")
rep.Range("A1") = iVal
End With
Wie ich zeigen, wenn eines dieser Wörter in dem Array Spiel in einer Zelle in dem Bereich definiert, Range("B2", Range("B2").End(xlDown))
, dann zählen und Anzeigewert im Worksheets("Report").Range("A1")
. Jede und jede Hilfe wird geschätzt, danke.
Was passiert, wenn eine Zelle mehr als ein Wort aus dem Array enthält? Ist es, wenn es einen oder mehrere enthält? – QHarr
@QHarr - Hallo nochmal und danke fürs nochmal helfen. Solange es eine Phrase gibt, ist das alles, was mir wichtig ist. Also, wenn es sowohl "Klimaanlage" als auch "kalt" wäre, würde das nur zählen als 1 –
Sie haben auch explizit ein Arbeitsblatt für den Bereich angegeben, mit dem Sie arbeiten wollen für den Count – QHarr