VBA で instr の先頭の文字を見つける方法

VBA で instr の先頭の文字を見つける方法

問題の説明:instr (数値) を検索し、instr 値の先頭に文字が付いているかどうかを確認します (例: 123、x123)。instr または文字付きの instr がシート 2 の値と一致する場合、msg ボックスは yes になります。

問題:instr は見つかりますが、instr の先頭に文字が含まれているかどうかは確認できません。どうすれば確認できますか。left(chr) 関数などを使用するのでしょうか。これが私のコードですが、instr で chr を見つけるのではなく、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

答え1

ここに画像の説明を入力してください

問題はないはずです。

Instr(1,BigString,SubString)

を返す1の場合、SubString は BigString の先頭にあります。

例えば、部分文字列を探す"アルファ"

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

ここに画像の説明を入力してください

関連情報