Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Platzhalter in WorksheetFunction.CountIf

Platzhalter in WorksheetFunction.CountIf
18.08.2020 11:30:21
Daniel
Hallo zusammen,
ich tue mich gerade etwas schwer.
Ausgangspunkt:
Tabelle 1 enthält in Spalte 1 eine Liste mit Namen
Tabelle 2 enthält in Spalte 1 eine Liste mit Namen und eine zweite Spalte für einen Hinweis
Das Makro prüft nun, ob der Name aus Tabelle 2 in Tabelle 1 vorkommt.
Ist der Name vorhanden wird in Tabelle 2 ein Eintrag gesetzt
Das Problem ist, dass ich hiermit nur nach exakter Schreibweise suchen kann.
Falls jetzt in der Tabelle 1 der Name "Hans" steht, in Tabelle 2 aber "Hans-Werner" bekomme ich natürlich keinen Treffer.
Nun dachte ich, das könnte man ganz leicht mit Sternchen lösen - aber ich bekomme das nicht hin;
egal wie ich versuche die Platzhalter zu positionieren, bekomme ich entweder Fehlermeldungen wie z.B. Erwartet Ausdruck o.ä.
Kann mir da jemand bitte helfen

Sub Test()
Dim LastRow As Integer
Dim Zle As Integer
Dim Suche As String
LastRow = Range("A1000").End(xlUp).Row
For Zle = 2 To LastRow
Suche = Sheets("Test").Range("A" & Zle).Value
If WorksheetFunction.CountIf(Sheets("Namensliste").Range("A:A"), Suche) > 0 Then
Range("B" & Zle).Value = "JA"
Else
Range("B" & Zle).Value = "NEIN"
End If
Next
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 11:42:24
Regina
Hi,das sollte so funktionieren:
Suche = Sheets("Test").Range("A" & Zle).Value & "*"
ggf auch so:
Suche = "*" & Sheets("Test").Range("A" & Zle).Value & "*"
Gruß Regina
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 11:48:50
Daniel
Hallo Regina,
vielen Dank schonmal für die Hilfe;
aber leider nein; es funktioniert nicht.
Aber nicht weil der Code falsch ist, sondern weil letztendlich der Wert aus Tabelle 1 der Teilstring von Tabelle 2 ist.
Mit dieser Änderung bewirke ich, dass Excel denkt, der Wert aus Tabelle 2 sei der Teilstring
Ich versuche die Platzhalter in der CountIf unterzubringen.
Anzeige
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 11:50:32
Daniel
Mein Ansatz war:

If WorksheetFunction.CountIf("*" & Sheets("Artikelliste").Range("A:A") & "*", Suche)
Aber da bekomme ich einen Laufzeitfehler 13 , Typen unverträglich
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 11:53:37
Regina
... nein, die Platzhalter gehören in dei "Suche", so:

Sub Test()
Dim LastRow As Integer
Dim Zle As Integer
Dim Suche As String
LastRow = Range("A1000").End(xlUp).Row
For Zle = 2 To LastRow
Suche = "*" & Sheets("Test").Range("A" & Zle).Value & "*"
If WorksheetFunction.CountIf(Sheets("Namensliste").Range("A:A"), Suche) > 0 Then
Range("B" & Zle).Value = "JA"
Else
Range("B" & Zle).Value = "NEIN"
End If
Next
End Sub

Anzeige
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 13:02:21
Daniel
Hallo Regina,
ja, das dachte ich eigentlich auch. Aber es funktioniert nicht. Ich erhalte auch keine Fehlermeldung.
Die "Suche" sucht ja nach "Hans-Werner";
in der Namensliste ist aber nur "Hans" eingetragen.
Mein Ergebnis lautet "NEIN"
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 13:13:32
Regina
.. ah, ok, ich hatte es anders herum verstanden. ich fürchte, dann wird das nichts. Wie soll der Code "wissen", welchen Teil des Namens er weglassen soll? Wenn Du vorgibst, dass immer nur der Teil bis zum 1. Leerzeichen als Suchkriterium genommen werden soll, dann könntest Du den Teil vorher "rausschneiden" und der Variablen Suche dann nur den ersten Teil übergeben. ich weiß aber nicht, ob das Deiner Datenlage entspricht.
Gruß Regina
Anzeige
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 13:19:27
Daniel
Das habe ich mir fast gedacht, dass das so nicht geht :-(
Gäbe es vielleicht einen anderen Lösungsansatz oder sehe ich das Ganze zu "einfach" ?
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 13:21:41
Daniel
Ich überlege gerade, ob ich das Ganze rumdrehe und Meine Namensliste auf die andere Liste anwende.
Dann könnte ich die Werte doch auch eintragen.
Nach dem Motto: ist Name xyz in irgendeiner Form vorhanden schreibe JA ;
ich hoffe das ist verständlich, wie ich es meine
AW: Platzhalter in WorksheetFunction.CountIf
18.08.2020 13:26:21
Daniel
HI
das musst du dir selber programmieren.
das CountIf prüft ja im Prinzip so:
For each Zelle in Range(Sheets("Namensliste").Range("A:A")
if Zelle like Suche then Zähler = Zähler + 1
Next
du musst das umdrehen und programmieren:
For each Zelle in Range(Sheets("Namensliste").Range("A:A")
if Suche like "*" & Zelle & "*" then Zähler = Zähler + 1
Next

das musst du selber programmieren, denn dafür gibt es keine Funktion.
Gruß Daniel
Anzeige

167 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige