Pues qué bueno que haya funcionado Horacio, viendo tu macro resultante, de pronto puedas evitar el bucle y mejor usar el método .find, algo así hará lo que quieres hacer como un rayo

(si es que interpreté bien tu código):
- Código: Seleccionar todo
Sub busqueda()
Dim encontrado As Range
Dim variable As String
variable = "dato"
Set encontrado = _
Sheets("hoja1").UsedRange.Columns(1).Find(what:=variable, _
LookIn:=xlValues, _
lookat:=xlPart, _
MatchCase:=False)
If encontrado Is Nothing Then
MsgBox "el dato buscado no existe en el archivo"
Else
encontrado.Select
MsgBox "El dato está en la celda " & encontrado.Address
' en caso de que si, se llama a la macro que ejecuta el proceso
Set encontrado = Nothing
End If
End Sub