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

Flexibel zählen m. 2 Variablen

Forumthread: Flexibel zählen m. 2 Variablen

Flexibel zählen m. 2 Variablen
05.12.2003 13:56:06
Gerhard Henneicke
Hallo Excel-Kenner,

ich habe ein Problem und komme nicht weiter. Mit folgendem Code kann ich eine Tabelle flexibel nach einer Zeichenkette durchsuchen:


Sub Flexibel_zählen()
Dim Anzahl As Double
Dim z As String
z = InputBox("Zu suchende Zeichenfolge eingeben.")
For Each sh In Sheets
Anzahl = Anzahl + Application.WorksheetFunction.CountIf(sh.Range("a:p"), "=" & z)
Next
MsgBox Anzahl
End Sub


Wie bekomme ich es hin, nur zu zählen, wenn eine zweite freiwählbare Zeichenkette in der Zeile vorhanden ist? Ich hoffe mein Problem ist verständlich geschildert.

Gruß Gerhard
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Flexibel zählen m. 2 Variablen
05.12.2003 14:16:25
Nepumuk
Hallo Gerd,
folgendes Programm sucht, wenn du bei der zweiten abfrage nichts eingibst nur nach einem Begriff. Groß- und Kleinschreibung werden berücksichtigt. Kann aber auch wegfallen.


Option Explicit
Sub Flexibel_zählen()
Dim lngAnzahl As Long, strSuchbegriff1 As String, strSuchbegriff2 As String
Dim myRange As Range, myWorksheet As Worksheet
strSuchbegriff1 = InputBox("Zu suchende erste Zeichenfolge eingeben.", "Eingabe")
If strSuchbegriff1 <> "" Then
strSuchbegriff2 = InputBox("Zu suchende zweiten Zeichenfolge eingeben.", "Eingabe")
For Each myWorksheet In ThisWorkbook.Worksheets
Set myRange = myWorksheet.Columns("A:P").Find(What:=strSuchbegriff1, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
If Not myRange Is Nothing Then
If strSuchbegriff2 = "" Then
lngAnzahl = lngAnzahl + 1
Else
Set myRange = myWorksheet.Rows(myRange.Row).Find(What:=strSuchbegriff2, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
If Not myRange Is Nothing Then
lngAnzahl = lngAnzahl + 1
End If
End If
End If
Next
MsgBox lngAnzahl
End If
End Sub



Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk
Anzeige
AW: Flexibel zählen m. 2 Variablen
05.12.2003 14:56:43
Gerhard
Hallo Nepumuk,

klappt bei mir irgendwie nicht.

Ergebnis ist immer 0, obwohl definitiv mehrfach Kombinationen in der Tabelle sind.

Gruß Gerhard
AW: Flexibel zählen m. 2 Variablen
05.12.2003 15:00:31
Nepumuk
Hallo Gerd,
bei mir ging es. Kannst du mal eine Mustetabelle auf den Server laden, bei der es nicht geht?
Gruß
Nepumuk
Anzeige
AW: Flexibel zählen m. 2 Variablen
08.12.2003 09:48:37
Gerhard Henneicke
Ich habe mal eine Beispieltabelle geladen. Es wäre super wenn ich eine Lösung dafür bekommen könnte.
https://www.herber.de/bbs/user/2366.xls

Gerhard
AW: Flexibel zählen m. 2 Variablen
09.12.2003 21:16:07
Nepumuk
Hallo Gerhard,
anscheinend geht es nicht mit zweimal Find - Methode in einer Schleife. Aber so klappt es:


Option Explicit
Sub Flexibel_zählen()
Dim lngAnzahl As Long, strSuchbegriff1 As String, strSuchbegriff2 As String
Dim strAdresse As String, myRange As Range, myWorksheet As Worksheet
strSuchbegriff1 = InputBox("Zu suchende erste Zeichenfolge eingeben.", "Eingabe")
If strSuchbegriff1 <> "" Then
strSuchbegriff2 = InputBox("Zu suchende zweiten Zeichenfolge eingeben.", "Eingabe")
For Each myWorksheet In ThisWorkbook.Worksheets
Set myRange = myWorksheet.Columns("A:P").Find(What:=strSuchbegriff1, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
If Not myRange Is Nothing Then
strAdresse = myRange.Address
Do
If strSuchbegriff2 = "" Then
lngAnzahl = lngAnzahl + 1
Else
lngAnzahl = lngAnzahl + Application.WorksheetFunction.CountIf(myWorksheet.Rows(myRange.Row), strSuchbegriff2)
End If
Set myRange = myWorksheet.Columns("A:P").FindNext(myRange)
Loop While Not myRange Is Nothing And myRange.Address <> strAdresse
End If
Next
MsgBox lngAnzahl
End If
End Sub



Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18