Visual Basic para Aplicaciones - error 91 (variable de objeto o with no establecido)

Life is soft - evento anual de software empresarial
 
Vista:

error 91 (variable de objeto o with no establecido)

Publicado por MANUEL (4 intervenciones) el 18/03/2021 14:48:55
Hola,
Agradecería mucho si alguien me puede ayudar, al ejecutar el siguiente código me da un error 91 (variable de objeto o with no establecido)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub BT_MODIFICAR_Click()
 
 
Dim fila As Object
 
Dim linea As Integer
valor_buscado = Me.txt_lote
 
Set fila = Sheets("BD").Range("A:A").Find(valor_buscado, lookat:=xlWhole)
 
 
linea = fila.Row
 
 
MsgBox (linea)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de MIGUEL
Val: 424
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

error 91 (variable de objeto o with no establecido)

Publicado por MIGUEL (121 intervenciones) el 18/03/2021 18:13:44
Buenas Manuel

no te gusta mas asi

1
2
3
4
5
6
7
Dim fila As Long
 
valor_buscado = Me.txt_lote
 
fila = Sheets("BD").Range("A:A").Find(valor_buscado, lookat:=xlWhole)
 
MsgBox fila

si no pues seria asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim fila
 
Dim linea As Long
valor_buscado = Me.txt_lote
 linea=0
With Sheets("BD").Range("A:A")
Set fila = .Find(valor_buscado, Lookat:=xlWhole)
 If Not fila Is Nothing Then
           linea = fila.Row
        End If
   End With
 
 
MsgBox (linea)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error 91 (variable de objeto o with no establecido)

Publicado por manuel (4 intervenciones) el 19/03/2021 08:04:35
muchísimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error 91 (variable de objeto o with no establecido)

Publicado por Manuel (4 intervenciones) el 19/03/2021 08:18:26
Vaya

En el primer caso me devuelve el mismo error, en el segundo la variable linea siempre me devuelve 0.

......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error 91 (variable de objeto o with no establecido)

Publicado por MANUEL (4 intervenciones) el 19/03/2021 08:39:34
Ya veo lo que pasa, cuando en la columna A pongo valores numéricos (1,2,3...) funciona perfectamente, el problema es que lo que yo tengo en la columna A para buscar es un valor alfanumérico: "letra"+6 números (M120520) y eso no es capaz de encontrarlo y me devuelve 0.

Hay alguna solución para que sea capaza de buscar y encontrar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MIGUEL
Val: 424
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

error 91 (variable de objeto o with no establecido)

Publicado por MIGUEL (121 intervenciones) el 19/03/2021 14:40:52
Buenas

asi ya no deberias tener problemas

1
2
3
4
5
6
7
8
9
10
11
12
13
Dim fila
Dim linea As Long
valor_buscado = Me.txt_lote
 linea = 0
With Sheets("BD").Range("A1:A1000000") ' o tambien With Sheets("BD").Range("A1:A" & Sheets("BD").Range("A" & Rows.Count).End(xlUp).Row)
Set fila = .Find(valor_buscado, Lookat:=xlWhole)
 If Not fila Is Nothing Then
    linea = fila.Row
 End If
End With
 
 
MsgBox (linea)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error 91 (variable de objeto o with no establecido)

Publicado por Mirzha (1 intervención) el 05/08/2023 21:09:26
Private Sub BT_MODIFICAR_Click()


Dim fila As Object

Dim linea As Integer
valor_buscado As String
valor_buscado = Me.txt_lote

Set fila = Sheets("BD").Range("A:A").Find(valor_buscado, lookat:=xlWhole)


linea = fila.Row


MsgBox (linea)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar