プロが教えるわが家の防犯対策術!

セルA1に「あいうえおあいうえおあいうえお」と入力しました。InputBoxに「お」と入力して実行しても、一つの文字しか色が変わりません。対象になるすべての文字の色を変更する方法があるのでしょうか。

Sub test3()
Dim str As String
Dim cnt As Integer
str = InputBox("")
cnt = InStr(Cells(1, 1), str)
Cells(1, 1).Characters(Start:=cnt, Length:=Len(str)).Font.ColorIndex = 3
End Sub

A 回答 (2件)

こんにちは



既に回答が出ていますけれど・・

入力ボックスで、そのまま「OK」を押されるとまずそうなので、チェックしておいた方がよさそうですね。
    • good
    • 3
この回答へのお礼

ご回答ありがとうございます。エラーにならないように、色々と考えてみようと思います。

お礼日時:2023/12/10 10:04

”お”が見つからなくなるまで、何回も処理を繰り返せばよいです。



Sub test3()
Dim str As String
Dim cnt As Integer
str = InputBox("")
cnt = 1
Do
cnt = InStr(cnt, Cells(1, 1), str)
If cnt = 0 Then Exit Do
Cells(1, 1).Characters(Start:=cnt, Length:=Len(str)).Font.ColorIndex = 3
cnt = cnt + 1
Loop
End Sub
    • good
    • 0
この回答へのお礼

有難うございます。繰り返しをする事で、すべての対象文字列の色を変更することが出来ました。

お礼日時:2023/12/10 10:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A