Autofilter liest "*" als alles aus
#1
Guten Tag,

ich muss eine Liste nach Kunden filtern. Die Daten kommen aus einem Datenblatt und werden per Makro automatisch gefiltert und ausgegeben. Nun gibt es leider ein paar Kunden die einen Stern am Ende haben - übergebe ich den Namen als String an Criteria1, dann filtert er alles, was er dazu findet. Also nicht nach abc*, sondern auch alles was abc*def abc*erf hat. Logisch, es ist ein Stern, aber genau das möchte ich nicht. Kann ich das irgendwie umgehen? Name lässt sich leider nicht ändern. Gibt es eine Möglichkeit zu sagen "Gebe mir nur EXAKT das aus, wonach gesucht wird!"?

Grüße,
Dex
Top
#2
Hallo Dex,

vielleicht so?
Criteria1:=Replace(strName, "*", "")
Gruß Uwe
Top
#3
Hallo Uwe, jetzt sucht er zwar nicht mehr mit einem Stern, aber der Kunde der kommen soll hat einen Stern (bei deinem Vorschlag bekomme ich also 0 Resultate), also ich suche nach:

Kunde *
Zurück kommt:
Kunde *
Kunde Irgendwas
Kunde * Irgendwas

Ich will aber explizit nur das was ich ihm gegeben hat, er also das "*" als "alles-was-folgt"-Zeichen ignoriert und einfach als Character liest.

Gruß Dex
Top
#4
Moin!
Dein Suchstring muss so aussehen:
"abc~*"
Die Tilde ~ bewirkt, dass der Asterisk * als Zeichen und nicht als Joker angesehen wird.

Gruß Ralf

P.S.:
Solltest Du mal nach einer Tilde suchen, musst Du sie verdoppeln:
~~ sucht nach ~
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#5
Hallo Dex,

jetzt hab ichs kapiert. Smile

Um das Platzhalterzeichen Stern als Text zu maskieren, wird eine Tilde vorangestellt:
Criteria1:=Replace(strName, "*", "~*")
Siehe auch hier: Platzhalter

Gruß Uwe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste