前提・実現したいこと
For Nextがきちんと回るようにしたい。
発生している問題・エラーメッセージ
お世話になります。
よろしくお願いします。
早速質問ですが、約130行ある表の中のE列の文字列の中からH列に入力されている文字(複数個あることを想定)を検索し、該当する文字だけを赤色にするというマクロを組もうとしています。
しかしながらNext文からFor文へ回らないという現象が発生してしまい、調べたのですが私の知識では解決策がわからなくなってしまいました。
具体的には下記ソースコードの19行目「Next j」から11行目の「For j = 2 To MaxRow」に戻らず、12行目の「Cells(i, 8).Select」に戻ってループしてしまいます。
この記述をどのように書き換えれば、11行目に戻るようになるでしょうか?
ご回答いただきますようお願いいたします。
該当のソースコード
Sub 文字列検索()
Dim MaxRow As Byte, MaxRow2 As Byte, i As Byte, chara As String, length As Byte, j As Byte, start As Integer
MaxRow = Range("A1").End(xlDown).Row - 1
If Range("H1").End(xlDown).Row > 200 Then
MsgBox "検索文字が入力されていません。"
Exit Sub
End If
MaxRow2 = Range("H1").End(xlDown).Row
For i = 2 To MaxRow2
chara = Cells(i, 8)
length = Len(Cells(i, 8))
For j = 2 To MaxRow
Cells(i, 8).Select
start = InStr(Cells(j, 5), Cells(i, 8))
If start = 0 Then
start = 1000
Else
Cells(j, 5).Characters(start:=start, length:=length).Font.ColorIndex = 3
End If
Next j
Next i
End Sub
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/29 05:11