Excel - Message Box para Selección de Lista Desplegable

 
Vista:
sin imagen de perfil

Message Box para Selección de Lista Desplegable

Publicado por Enrique (1 intervención) el 20/11/2014 17:17:45
Hola!

Soy nuevo en el foro y la verdad que se muy poco de programación VB pero requiero de su ayuda:

Actualmente trabajo con archivos donde se reportan resultados dependiendo de la selección de unas listas desplegables. Pueden ser meses, años, tiendas, etc. Y la verdad es que funciona bien, pero la lista desplegable no salta a la vista (hay que dar click en la celda para entender que es una lista desplegable).

Habia pensado en que quizas saltara (o estuviera de forma permanente) un message box donde puedo definir las variables.

Me pueden ayudar con el código para poder mostrar un menu o message box y cómo linkearlo a las listas deplegables.

(imaginemos que las listas deplegables estan en las celdas B4 y B5)


Muchas 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 LAO

Message Box para Selección de Lista Desplegable

Publicado por LAO (67 intervenciones) el 21/11/2014 18:10:49
Hola Enrique,

La solución para esto puede ir desde lo mas sencillo hasta lo mas complicado. Te sugiero identificar visualmente con un color las celdas que tienen validación con lista desplegable. Para lograr esto incluye en un modulo el siguiente procedimiento y la siguiente función:

PROCEDIMIENTO
--------------------------->

Sub GetRangeValidation()
Dim objCell As Range, b As Boolean, sRange As String

'Vars
sRange = "A1:B3"

'Obtiene rango detalle
For Each objCell In ActiveSheet.Range(sRange)

'verifica booleano de funcion
b = GetCellValidation(objCell)

'Asigna identificador visual
If b = True Then objCell.Interior.Color = vbRed Else objCell.Interior.Color = xlNone

Next

FUNCION
----------------------->

Function GetCellValidation(objRange As Range) As Boolean
On Error Resume Next
'Retorna booleano
GetCellValidation = objRange.Validation.Type >= 0
End Function

Ahora bien, donde aplicar el procedimiento GetRangeValidation() con los respectivos parámetros es algo que deberás decidir. Puedes colocarlo ya sea en el evento Workbook_Open() ó en alguno de los disponibles del Worksheet.

Espero haberte ayudado.
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