Antworten:
Verwenden Sie die Instr- Funktion
Dim pos As Integer
pos = InStr("find the comma, in the string", ",")
wird 15 in pos zurückgeben
Wenn nicht gefunden, wird 0 zurückgegeben
Wenn Sie das Komma mit einer Excel-Formel suchen müssen, können Sie die =FIND(",";A1)
Funktion verwenden.
Beachten Sie, dass Sie, wenn Sie Instr
die Position eines Strings ermitteln möchten, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird, den dritten Parameter von Instr verwenden und ihm die vbTextCompare
Konstante geben (oder nur 1 für eingefleischte Zeichenfolgen).
Dim posOf_A As Integer
posOf_A = InStr(1, "find the comma, in the string", "A", vbTextCompare)
gibt Ihnen einen Wert von 14.
Beachten Sie, dass Sie in diesem Fall die Startposition angeben müssen, wie in der von mir verknüpften Spezifikation angegeben: Das Startargument ist erforderlich, wenn compare angegeben ist.
Sie können auch das spezielle Wort verwenden like
:
Public Sub Search()
If "My Big String with, in the middle" Like "*,*" Then
Debug.Print ("Found ','")
End If
End Sub
Es gibt auch den InStrRev Funktion, die das Gleiche tut, aber vom Ende des Textes bis zum Anfang mit der Suche beginnt.
Per @ renes Antwort ...
Dim pos As Integer
pos = InStrRev("find the comma, in the string", ",")
... würde immer noch 15 zu pos zurückgeben, aber wenn die Zeichenfolge mehr als eine der Suchzeichenfolgen enthält, wie das Wort "the", dann:
Dim pos As Integer
pos = InStrRev("find the comma, in the string", "the")
... würde 20 statt 6 auf pos zurückgeben.
Aufbauend auf Renes Antwort könnten Sie auch eine Funktion schreiben, die entweder TRUE zurückgibt, wenn der Teilstring vorhanden ist, oder FALSE, wenn dies nicht der Fall ist:
Public Function Contains(strBaseString As String, strSearchTerm As String) As Boolean
'Purpose: Returns TRUE if one string exists within another
On Error GoTo ErrorMessage
Contains = InStr(strBaseString, strSearchTerm)
Exit Function
ErrorMessage:
MsgBox "The database has generated an error. Please contact the database administrator, quoting the following error message: '" & Err.Description & "'", vbCritical, "Database Error"
End
End Function
INSTR
für Sie?