MsgBox

Estoy jugando con una condición pero no lo domino bien, espero me ayuden
lo que tengo es que en la celda A1 capturo la forma de pago y dependiendo de la captura "Efectivo o Cheque" en la celda A2 tendrá una siguiente condicional
If [A1] = "Cheque" Then
MsgBox "Ingrese el Banco", vbExclamation + vbOKOnly, "Banco"
[A2].Select
Application.ScreenUpdating = True
Exit Sub
End If
Hasta aquí no hay problema, si en la celda A1 tengo capturado "Cheque" se despliega el MsgBox, pero capturo en la celda A2 y no paso de ahí, me sigue apareciendo el MsgBox
¿Qué me falta anexar para que cuando detecte que en la celda A2 ya existe captura me permita avanzar?
Por ejemplo en la celda A3 ya capturaría "Quien realizo Venta"
Saludos

1 respuesta

Respuesta
1
Te faltó el encabezado, como para saber cuándo se ejecuta y dónde está colocada: ¿Change o SelectionChange?, ¿La dejaste en un módulo?...
Espero tus aclaraciones.
Sdos
Elsa
* No te pierdas la promoción de este mes en manuales !
http://aplicaexcel.galeon.com/manuales.htm
Hola Elsa gracias por responder, te anexo como tengo la macro
Sub Imprimir_Contrato_Recibo()
'
' Imprimir_Contrato_Recibo Macro
' Macro grabada el 23/07/2009 por servicio.compulap
'
'
Dim lngcontarproduc&, bitvueltas As Byte, bitvueltas2 As Byte
Application.ScreenUpdating = False
If [B2] = "" Then
MsgBox "Ingrese Código Cliente", vbExclamation + vbOKOnly, _
"Cliente"
[B2].Select
Application.ScreenUpdating = True
Exit Sub
End If
If [B19] = "" Then
MsgBox "Ingrese Código Concepto", vbExclamation + vbOKOnly, "Concepto"
[B19].Select
Application.ScreenUpdating = True
Exit Sub
End If
If [K31] = "" Then
MsgBox "Ingrese Forma de Pago", vbExclamation + vbOKOnly, "Forma de Pago"
[K31].Select
Application.ScreenUpdating = True
Exit Sub
End If
If [K36] = "" Then
MsgBox "Ingrese persona que realizo Venta", vbExclamation + vbOKOnly, "Quien realizo Venta"
[K36].Select
Application.ScreenUpdating = True
Exit Sub
End If
Así como lo tengo no hay ningún problema, pero tengo dos celdas más
K33 (nombre del banco)
K34 (No de Cheque o Tarjeta de Crédito)
De las cuales depende si en la celda K31 es seleccionado (cheque o tarjeta de crédito) de ser así me permita avanzar a las celdas K33 para seleccionar el nombre del banco y de la misma manera me permita avanzar a la celda K34 y colocar No de cheque o tarjeta, la finalidad de esta macro es que el usuario capture los campos importantes dependiendo de otras capturas de lo contrario no hay problema que no sean capturadas, por ejemplo si en la celda K31 seleccionan "Efectivo" pues el resto de las celdas K33 y K34 ya no serán capturadas
Ponía algo así pero no pasa de la celda k33
If [K31] = "Cheque" Then
MsgBox "Ingrese Nombre del Banco", vbExclamation + vbOKOnly, "Banco de Convenio"
[K33].Select
Application.ScreenUpdating = True
Exit Sub
End If
Espero haberme explicado
Gracias y quedo en espera de tus comentarios
saludos
Con tu agregado, si en K31 dice Cheque solicita el nbre de banco y sale.
Ahora faltaría agregar, que si en K31 dice Cheque y K33 <> "" y K34 = "", solicite nro de doc en K34
If [K31] = "Cheque" and [K33] <> "" and [K34] = "" Then
MsgBox "Ingrese Nro de cheque", vbExclamation + vbOKOnly, "Banco de Convenio"
[K34].Select
Application.ScreenUpdating = True
Exit Sub
End If
Ajustá el mensaje y pruébalo. Si todo quedó solucionado no olvides regresar y finalizar la consulta.
Sdos
Falta algo más en tus instrucciones, cuando consultás por K31. Debiera quedarte así:
If [K31] = "Cheque" and [K33] = "" Then
MsgBox "Ingrese Nombre del Banco", vbExclamation + vbOKOnly, "Banco de Convenio"
[K33].Select
Application.ScreenUpdating = True
Exit Sub
End If
Luego sigue la que te adjunté anteriormente.
Sdos
Elsa
Excelente Elsa! Todo quedo tal como lo requería
Tengo otra pregunta abierta en el tablón por si la ves y me puedes ayudar
Muchas gracias por toda toda tu yuda!
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas