Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


185 / 74623 ←次へ | 前へ→

【80082】教えてくささい。
質問    - 18/8/5(日) 18:18 -

引用なし
パスワード
   どなたか教えてください。
以下のプログラムを試してみたのですが、上手くいきません。
メッセージボックスに空白またはキャンセルした場合に、
シート全体に意図しない部分に色が着いてしまいます。
そこで、(1)の部分を
   If 検索結果 <> False And 検索結果 <> "" Then '
に変更してみたのですが、上手くいきません。
なぜ、思い通りに動かないのか わかりません。
どなたか、教えていただけないでしょうか?


Dim 検索値 As Variant
Dim 検索結果 As Range
Dim 最初結果 As Range
Dim 結果範囲 As Range
Dim データ範囲 As Range
Set データ範囲 = ActiveSheet.UsedRange
検索値 = InputBox("検索する文字列を入力してください")
Set 検索結果 = データ範囲.Find _
(What:=検索値, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=True, MatchByte:=True)
If 検索結果 Is Nothing Then  ←(1)
MsgBox 検索値 & "はみつかりません。"
Exit Sub
Else
Set 最初結果 = 検索結果
Set 結果範囲 = 検索結果
End If
Do
Set 検索結果 = データ範囲.FindNext(検索結果)
If 検索結果.Address = 最初結果.Address Then
Exit Do
Else
Set 結果範囲 = Union(結果範囲, 検索結果)
End If
Loop
MsgBox 検索値 & "は" & 結果範囲.Count & "件みつかりました。" & vbCrLf & _
セルを黄色で塗りつぶします。
結果範囲.Interior.Color = RGB(255, 255, 0)

End Sub

74 hits

【80082】教えてくささい。 18/8/5(日) 18:18 質問[未読]
【80083】Re:教えてくささい。 γ 18/8/5(日) 18:43 回答[未読]
【80084】Re:教えてくささい。 18/8/5(日) 19:27 お礼[未読]

185 / 74623 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free