Ventana en formulario de excel

Deseo saber por que me genera alerta a la hora de dar clic en el botón si la instrucción esta para que salga la ventana de mensaje cuando se realice la función no se si la estoy colocando mal esta mal diseñado el código o en donde debo colocar esa línea

 If Range("P" & pro.Row) = "Cancelado" Then
MsgBox "Este registro esta Cancelado.", , "Información"

saludos... Muchas gracias

NOTA: realiza lo requerido el problema es la ventana que al dar clic en ese botón me sale de una el mensaje

Sub Procancel()
 Set pro = Range("C:C").Find(Txt_buscapro)
If Not pro Is Nothing Then
'Si lo encontró. Envía mensaje en caso de Cancelado en col P
If Range("P" & pro.Row) = "Cancelado" Then
MsgBox "Este registro esta Cancelado.", , "Información"
    'a continuación el resto de tu código. Por ejemplo
      ' If Range("P" & pro.Row) = "Activo" Then
       Txt_Codpro = Cells(pro.Row, pro.Column - 1)
       Txt_Nompro = Cells(pro.Row, pro.Column)
       Cmb_Tipopro = Cells(pro.Row, pro.Column + 1)
       Txt_PrecioPro = Cells(pro.Row, pro.Column + 3)
       Txt_Observapro = Cells(pro.Row, pro.Column + 2)
       Cmb_Umedidapro = Cells(pro.Row, pro.Column + 4)
       Txt_peso = Cells(pro.Row, pro.Column + 5)
       Txt_mermapro = Cells(pro.Row, pro.Column + 6)
Else
MsgBox "No se encontró el dato", vbCritical
        Txt_buscapro = ""
        Txt_buscapro.SetFocus
End If
End Sub

2 Respuestas

Respuesta
3

En tu consulta anterior, leí: cuando realice la búsqueda este me presente una alerta si el producto esta activo o no;

Por eso, le agregué esas instrucciones con su explicación:

If Not pro Is Nothing Then
'Si lo encontró. Envía mensaje en caso de Cancelado en col P
If Range("P" & pro.Row) = "Cancelado" Then
MsgBox "Este registro esta Cancelado.", , "Información"
    'a continuación el resto de tu código. Por ejemplo

Si no quieres el alerta en ese momento... dime cuándo debiera aparecer.

Si lo quieres al finalizar el pase de todos los campos, coloca las mismas líneas luego del último pase: txt_mermaPro = Cells(--------------)

Muchas gracias maestros; pero sigo con dolores de cabeza la línea la he colocado en todos los lados y hasta cree una subrutina pero la coloco al inicio al final de los pases y me sale la ventana de aviso por eso realizo la consulta si tengo error en ejecución de esa función o debo hacer otra; lo e intentado saliéndome de la rutina y creando otro objeto pero ya no me hace lo requerido.

De acuerdo a mi formulario lo deseado es cuando capture un dato y este aparece CANCELADO me lance la ventana y cargue normal pues no esta eliminado pero si al capturar el dato este no presenta el dato de CANCELADO entonces la rutina la realice normal que es la de buscar el dato y cargarlos a las cajas si esta

Saludos

Reitero tu primer pedido: cuando realice la búsqueda este me presente una alerta si el producto esta activo o no;

Entonces, hasta que no aclares bien a qué llamas 'presentar una alerta' esto no se resolverá.

'al dar clic en ese botón ...' Tu formulario presenta varios botones. Debes indicar a cuál te refieres. Porque solo estoy presumiendo que se trata el de Aceptar.

Por lo tanto, empecemos todo de nuevo. Desde la primer consulta:

' Realizo una búsqueda pero a su vez cuando realice la búsqueda este me presente una alerta si el producto esta activo o no; ...'

' Carga a unas cajas de texto y es aquí donde quiero que me genera la alerta...'

Por lo expresado antes, quieres la alerta al momento de encontrar el registro buscado.

Es decir que estás recibiendo lo que solicitás.

Ahora, lee por favor lo que me indicas en esta última respuesta: 'cuando capture un dato y este aparece CANCELADO me lance la ventana y cargue normal '

Estabas realizando una búsqueda, no una captura. Que miraba la col P. Que si decía Cancelado debía presentar un alerta (imaginé que sería un Msgbox).

Ahora, ¿a qué llamas lanzar la ventana?

Si no lo podes explicar en palabras, enviame una hoja con el Userform y allí me contás claramente lo que esperas como alerta y/o lo que deseas LANZAR ;(

Sdos!

https://drive.google.com/file/d/1oZeDD4609LNiPQWTdnAu1GRwWy_QEfi0/view?usp=share_link

Buen día maestra envío archivo con el formulario a modo de entender y comprender el botón superior del formulario con nombre de BUSCAR es donde se realiza la consulta lo requerido es

  • Buscar un dato columna C
  • si lo encuentra cargue los textbox del formulario con toda la fila del dato
  • además de encontrarlo si el dato se encuentra "Cancelado" en la columna P
  • mensaje con opción de Aceptar o cancelar "Este registro es cancelado"
  • si la opción es Aceptar se llene las cajas de texto del formulario con el dato de la fila
  • si la opción es cancelar se limpie la caja de texto búsqueda

de antemano me disculpo por pasar paso a paso; solo es hacerme entender, mi duda es por que al dar clic en el botón de Buscar me sale el mensaje como lo describo en la imagen como se ve no hay dato y ya esta saliendo el mensaje,

master lo de captura y demás términos técnicos solo es por hacerme la idea de que estoy en modo de programación pero el caso solo es aclarar la duda de por que me sale el mensaje al dar clic en ese botón

Muchas gracias!


                    

Hay 2 botones BUSCAR. En el primero le estás diciendo que limpie el control txt_Buscar y se le de el foco. Entonces, aquí no tenías porqué agregar la macro de búsqueda. Quita esa instrucción y ya está.

Sdos!

Sigo... es que ayer escribí 2 veces la respuesta y el sitio estaba como bloqueado.

Sigamos...

Por favor presta atención a los comentarios aquí en negrita.

Por ahora la macro realiza entonces, las evaluaciones en este orden. Para el segundo botón BUSCAR (es algo confuso tener 2 botones con el mismo texto)

- Si la búsqueda es exitosa, llena los campos del formulario.

- Si el texto en col P es 'Cancelado' se envía un mensaje de confirmación

- Si la respuesta es NO, se borra el contenido del txt_BuscaPro y cancela el proceso.

--------- Aquí debieras también limpiar los controles que acabas de llenar. -------------

- Si la respuesta es SI, no se hace nada más desde este botón. Te permitirá seguir trabajando en los controles ya rellenados.

Si necesitas el libro, enviame un correo.

¿Parece qué no se pueden publicar las macros?

Tercer intento!

Definitivamente hay una mano misteriosa en este asunto... qué pena por Uds.!

De cualquier modo que intento pegar el código no me permite enviar la respuesta con la nueva macro Procancel.

?????   ;(

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas