こんばんは。
>fc = Range("a1").Interior.Find("100")
本当にExcelのVBAですか? Excel VBAでは、そのような使い方はなかったと思います。
私が、Find メソッドを使う時は、以下のようなスタイルにします。省略はなるべく避けます。なお、100だけの検索という場合は、
LookAt:=xlWhole
を使います。Excelがはじめの方には、Findメソッドは、少し、荷が重いような気がします。
入門レベルでは、以下のようなループを使ったらよいと思います。
Sub SampleTest()
For Each c In Range("A1:D100")
If c.Value = 100 Then
c.Interior.ColorIndex = 3 '色は赤
End If
Next c
End Sub
Find メソッドを使ったサンプル
Select の部分で加工する
'-------------------------------------------------------------
Sub TestFind()
Dim c As Range
Dim FirstAdd As String
Dim rng As Range
'検索語の代入
Const KENSAKU As Variant = 100
Set rng = ActiveSheet.UsedRange
rng.Cells(1, 1).Select
Set c = ActiveSheet.UsedRange.Find( _
What:=KENSAKU, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchByte:=True)
If Not c Is Nothing Then
FirstAdd = c.Address
c.Select
If MsgBox(c.Address & vbCrLf & _
"次も検索しますか?", vbOKCancel) = vbCancel Then
Exit Sub
End If
'次の検索
Do
Set c = rng.FindNext(c)
If c Is Nothing Or c.Address = FirstAdd Then 'アドレスの確保
Exit Sub
End If
c.Select 'セルの選択
If MsgBox(c.Address & vbCrLf & _
"次も検索しますか?", vbOKCancel) = vbCancel Then
Exit Sub
End If
Loop
End If
Set c = Nothing
Set rng = Nothing
End Sub