Necesito me ayuden con este código me da error de necesita un objeto

Private Sub BT_Editar_Click ()

Me.BT_Guardar = True

Dime Fila as object

Dim Línea as Integer

Set NumeroFila = Me.TextNombre_Apellidos

Fila = Sheets("Hoja1").Range("C:C").Find (NumeroFila, lookat:=xlWhole)

Me da el error sobre Set NumeroFila

1 respuesta

Respuesta
3

Leo el código y hay una declaración 'Dime Fila ...', entiendo que pudo haber sido solo error de tipeo.

Luego hay una declaración 'Set NumeroFila pero se trata de un control con Nombre_Apellido, lo que confunde un poco qué tipo de información tendrá esa variable... no parece ser un valor numérico que indique el nº de una fila. De todos modos ese no es el error ;)

El error se produce en la instrucción siguiente. Fila está declarada como un objeto, por lo que la instrucción sería:

Set Fila = Sheets("Hoja1").Range("C:C").Find (NumeroFila, lookat:=xlWhole)

Luego deberás evaluar si se encontró (o no) el texto buscado y en qué fila... de lo contrario la instrucción dará error si no lo encuentra. Nuevamente el nombre utilizado 'Fila' puede confundir un poco ya que no estás encontrando una fila sino un valor buscado.

Set Fila = Sheets("Hoja1").Range("C:C").Find(NumeroFila, lookat:=xlWhole)
If Not Fila Is Nothing Then
    'instrucciones para cuando encuentre el dato buscado
    Línea = Fila.Row
Else
    'instrucciones para cuando encuentre el dato buscado
    MsgBox "NO se encontró el valor buscado."
End If

En mi canal tengo varios ejemplos de búsquedas, con Find y con SET:

Nº 25: Búsquedas en Excel mediante VBA -Método FIND o VLOOKUP

Nº 16: Búsqueda (FIND) en Excel con VBA (control de errores)

Nº 29: 3 Métodos de Búsqueda en Excel con VBA.

Nº 23: El método FINDNEXT.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas