2016-10-10 3 views
0

Grundsätzlich funktioniert mein Code so, dass ein ankommender E-Mail-Betreff aus Outlook mit einer Listenspalte in Excel verglichen wird - angeblich die vorhandene E-Mail. Wenn die eingehende E-Mail mit allen Datensätzen übereinstimmt, wird der Wert in Excel angezeigt. Mir ist jedoch aufgefallen, dass, wenn die Daten in Excel den Hashtag (#) enthalten, auch wenn die eingehende E-Mail nicht mit der in Excel übereinstimmt, der Code sie als übereinstimmend markiert.VBA Like Funktion

Gibt es etwas falsch mit dem Code oder ist es die Einschränkung der LIKE-Funktion?

+1

mit 'Like' "*" steht für jedes Zeichen-Sequenz, so dass "#" wird – user3598756

+0

@Wilson passen Sie bitte Ihre Post bearbeiten und den Rest des Codes (entsprechenden Abschnitt) –

+1

' # 'hinzuzufügen ist eine Wildcard. http://analystcave.com/vba-like-operator/ – Marco

Antwort

5

Verwenden Sie stattdessen die Funktion InStr. Es gibt eine Ganzzahl zurück, die die Startposition des ersten Auftretens einer Zeichenfolge in einer anderen angibt.

If InStr(emlSubj , strSubj) > 0 Then 
    Debug.Print strSubj 
End If 
+0

Also habe ich versucht, den Code oben, aber es war nicht in der Lage, die 2 Fächer, die ich verglichen habe, zu vergleichen. Zum Beispiel ist EmlSubj Holiday Booking und StrSubj (das in der Excel-Datei) Holiday Booking # 445. Der Code konnte die beiden Themen nicht zuordnen. – Wilson

+0

Wenn InStr ("Urlaubsbuchung # 445", "Urlaubsbuchung")> 0 Dann Debug.Print "FOUND" Ende If –

+0

Sie müssen eine Zeichenfolge angeben, in der Sie zuerst nach einer Teilzeichenfolge suchen. Dann deklarieren Sie einen Suchbegriff. –