Excel - CONDICION DE BUSQUEDA

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

CONDICION DE BUSQUEDA

Publicado por Fernando C (4 intervenciones) el 25/09/2019 21:57:58
Un saludo cordial

Quiero que me resuelvan una duda que tengo con un código de tantos que estoy realizando para una aplicación por VBA; para ser mas explicito: el código primero refiere al textboxt si esta vacío que no ejecute pero si está lleno tiene que verificar si el código que busca existe, si es así coloca "anulado", caso contrario que no ubique el código ingresado no ejecutar la función.

Mi código es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub CommandButton2_Click()
 
If TextBox1 = Empty Then
 
MsgBox "No se puede realizar el proceso de anulación debido a que no se halla consignado ningún código o el código ingresado no existe."
 
ElseIf TextBox1 <> Empty Then
 
Application.ScreenUpdating = False
 
Sheets("REFERENCIAS").Select
Sheets("REFERENCIAS").Unprotect ("RPINO")
 
On Error GoTo busqueda
 
    Range("RANGO_CODIGOS").Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate
 
    ActiveCell.Offset(0, 20).Select
    ActiveCell.Value = "ANULADO"
 
    MsgBox "Se efectúo la anulación de la Carta Fianza"
 
busqueda:
MsgBox "El código ingresado no existe, favor de verificar antes de proceder"
 
Sheets("REFERENCIAS").Protect ("RPINO")
Sheets("INICIO").Select
 
Application.ScreenUpdating = True
 
End If
 
End Sub

________________________________________________________________________________________
El mismo no me bota errores pero creo que estoy aplicando mal la función On Error Goto porque así el codigo este bien ejecuta lo ejecuta como error de macros.

("RANGO_CODIGOS" = Nombre de rango de Celdas del A6 al A1000)

Gracias de Antemano

Saludos
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 Alfredo
Val: 363
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONDICION DE BUSQUEDA

Publicado por Alfredo (120 intervenciones) el 25/09/2019 23:03:53
Hola Fernando

Seria mejor si subieras una muestra de tu archivo (si deseas con datos falsos o inventados) Pero de entrada te falta una linea justo antes de la etiqueta "Busqueda:"

Mira

1
2
3
4
5
6
7
8
9
ActiveCell.Value = "ANULADO"
 
 MsgBox "Se efectúo la anulación de la Carta Fianza"
 
 Exit sub  'esta linea te falta, ya que nada impide que entre en el código de errores
 
busqueda:
 
 MsgBox "El código ingresado no existe, favor de verificar antes de proceder"

Prueba y ya nos comentas

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
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

CONDICION DE BUSQUEDA

Publicado por FERNANDO (4 intervenciones) el 26/09/2019 00:25:52
Gracias por responder amigo

Funciona hasta la fila 2 pero para adelante no.

Para una mejor comprensión te dejo un ejemplo adjunto .

Muchas 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
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

CONDICION DE BUSQUEDA

Publicado por FERNANDO (4 intervenciones) el 26/09/2019 18:15:40
Que tal Alfredo

Lo estoy revisando pero arroja a error de coincidencia de datos en el siguiente código

1
2
3
Hoja1.Range("RANGO_CODIGOS").Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate

Lo que me parece raro porque el código esta bien así como la referencia de hoja.

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
Imágen de perfil de Alfredo
Val: 363
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONDICION DE BUSQUEDA

Publicado por Alfredo (120 intervenciones) el 26/09/2019 18:29:18
Fernando

Es que si la celda activa en la hoja REFERENCIAS se encuentra fuera del rango seleccionado por RANGO_CODIGO, ya que le indicas After:=ActiveCell, para solucionarlo:

Elimina After:= de la expresion Find

modifica el rango de nombre RANGO_CODIGOS para que quede asi "=REFERENCIAS!$A$6:$A$1000"

Recuerde que la búsqueda empieza después de esta celda indicada en After; no se buscará en la celda hasta que el método regrese a ella. Si no se especifica este argumento, la búsqueda se inicia después de la celda de la esquina superior izquierda del rango., por eso la modificación en el rango

Así siempre iniciara la búsqueda desde A7

Te anexo el archivo con estas modificaciones

Espero tus comentarios

Saludos

P.D. Le anexe una validación para confirmar la anulación
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
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

CONDICION DE BUSQUEDA

Publicado por FERNANDO (4 intervenciones) el 26/09/2019 22:42:41
Muchas Gracias

Ya entendí. Me funcionó perfecto.

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