|    | 
     どなたか教えてください。 
以下のプログラムを試してみたのですが、上手くいきません。 
メッセージボックスに空白またはキャンセルした場合に、 
シート全体に意図しない部分に色が着いてしまいます。 
そこで、(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 
 | 
     
    
   |