So finden Sie den Zeichenanfang von instr in VBA

So finden Sie den Zeichenanfang von instr in VBA

Problembeschreibung:Suchen Sie nach einem Instr (das ist eine Zahl) und prüfen Sie dann, ob dem Instr-Wert ein Zeichen vorangestellt ist oder nicht (z. B. 123, x123). Wenn Instr oder Instr mit Zeichen mit dem Wert aus Blatt 2 übereinstimmt, wird im Nachrichtenfeld „Ja“ angezeigt.

Problem:Ich kann das Instr finden, aber ich kann nicht prüfen, ob das Instr ein Zeichen davor enthält oder nicht. Wie prüfe ich das, ist es mit der Funktion left(chr) oder so. Hier ist mein Code, aber er sucht nur das Instr, nicht das chr mit dem Instr.

  Sub tym()

Dim ws1 As Worksheet, wb As Workbook, ws2 As Worksheet
Dim b, c As Range, rngNums As Range, rngText As Range
Dim dNums, dText, rN As Long, rT As Long, t, m

Set wb = ActiveWorkbook
Set ws1 = wb.Worksheets("Sheet1")
Set ws2 = wb.Worksheets("Sheet2")
Set c = wb.Worksheets("Sheet3").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)

Set rngNums = ws1.Range(ws1.Range("A1"), ws1.Cells(Rows.Count, 1).End(xlUp))
dNums = rngNums.Value
Set rngText = ws2.Range(ws2.Range("A1"), ws2.Cells(Rows.Count, 1).End(xlUp))
dText = rngText.Value

For rN = 1 To UBound(dNums, 1)
    b = "-" & dNums(rN, 1) & "-" (right here im defining to find instr but how do i add a function to find char front of instr)
    For rT = 1 To UBound(dText, 1)
        If InStr(1, dText(rT, 1), b) > 0 Then

          MsgBox "yes"

        End If
    Next rT
Next rN

End Sub

Antwort1

Bildbeschreibung hier eingeben

Es sollte kein Problem geben. Wenn

Instr(1,BigString,SubString)

gibt einen1, dann steht der SubString am Anfang des BigStrings.

Suchen Sie beispielsweise nach der Teilzeichenfolge"Alpha"

Sub dural()
   MsgBox InStr(1, ActiveCell.Value, "Alpha")
End Sub

Bildbeschreibung hier eingeben

verwandte Informationen