Definir rango para Macro Buscar

Que tal :)
Quiero definir un rango de búsqueda ( la columna H) para mi buscador
Puedes echarme una mano por favor
Dim rng As Range
   Dim SearchRange As Range
   Dim strAddress As String, strFind As String
'Beginn
   strFind = InputBox("Bitte Suchbegriff eingeben:", Application.UserName, strSuch)
   If strFind = "" Then Exit Sub
      Set SearchRange = ThisWorkbook.Worksheets(1).Range("H:H")
      Set rng = Cells.Find(strFind, lookat:=xlPart, LookIn:=xlFormulas)
      On Error GoTo 0
      If Not rng Is Nothing Then
            strAddress = rng.Address
            Do
               Application.Goto rng, False
               If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
               Set rng = Cells.FindNext(After:=ActiveCell)
               If rng.Address = strAddress Then Exit Do
            Loop
        End If
    strSuch = strFind
    MsgBox "Keine weiteren Fundstellen!", False, Application.UserName
    Worksheets(1).Activate
    Range("A1").Select

1 Respuesta

Respuesta
1
Para definir el rango simplemente lo seleccionas y buscas en la selección:
Columns("H:H").Select
    Selection.Find(What:=AQUI LA VARIABLE A BUSCAR, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
Si necesitas alguna cosa más me lo haces saber.
>Un saludo
>Julio
Hola Julio,
Gracias por la respuesta.
La utilice y si sirve !
Dim rng As Range
Columns("R:R").Select
Set rng = Selection.Find(strFind, lookat:=xlPart, LookIn:=xlFormulas)
strAddress = rng.Address
Pero Aqui no se como definir la variable de el primer resultado para que busque apartir de ahi y claro en el rango ("R:R")
Set rng = Cells.FindNext(After:=ActiveCell)
               If rng.Address = strAddress Then Exit Do
strSuch = strFind
    MsgBox "No existen mas resultados", False, Application.UserName
end sub
Gracias de nuevo
Cuando te encuentra el resultado la macro se detiene en esa celda, como desconocemos que celda es la sacamos con una variable:
mi_celda=ActiveCell.Address 'Ya tenemos la celda que sea del tipo "$R$21" por ejemplo
'Ahora seleccionamos el rango a partir de esta celda hasta el final:
Range(mi_celda, R65536).Select
Set rng=Selection.Find(strFind, lookat:=xlPart, Lookln:=xlFormulas)
Y aquí el resto de tu código
Espero que te sirva, si es así puntúa y finaliza la consulta. Gracias. Si necesitas algo más me lo dices.
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o