Sobre desplegables

23/11/2005 - 17:23 por Hernando | Informe spam
Hola.
Tengo una lista de "Clientes" en A1:A65, en B1:B65 pongo a cada uno el
"Estado" en que se encuentra (si le hemos ofertado o no algún producto),
y en C1:C65, "Productos", que es donde en cada celda me gustaría poderle
abrir un desplegable a cada cliente, donde pudiera ir incorporando los
nombres de los productos que ya le he vendido, para no repetirle la
oferta y para mi control, y que este desplegable, esté cerrado mientras
no pinches en él para incorporar datos. es decir que una vez
incorporados datos, se cierrren los desplegables y no se vean los que
tienen cada uno de ellos.Ya probé con Datos, Validación, con Lista y con
Tablas y no lo he conseguido.Si se pudiera hacer agradecería me
aconsejaran que pasos tengo que seguir para ello. Gracias y saludos.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
24/11/2005 - 01:07 | Informe spam
hola, Hernando !

Tengo una lista de "Clientes" en A1:A65, en B1:B65 pongo a cada uno el "Estado" en que se encuentra
(si le hemos ofertado o no algun producto), y en C1:C65, "Productos", que es donde en cada celda
me gustaria... un desplegable... donde pudiera ir incorporando los... productos que ya le he vendido
para no repetirle la oferta y para mi control [...]
... probe con Datos, Validacion, con Lista y con Tablas y no lo he conseguido [...]



no estoy [muy] seguro de haber captado [cabalmente] 'la intencion', pero [segun yo]...
asumiendo que en 'esa' hoja... SI dejas una validacion por lista [en el rango 'C1:C65']
para seleccionar [y acumular] los productos ofertados...
prueba con las siguientes lineas de codigo y... comentas que modificaciones se requieren?
saludos,
hector.

en el modulo de codigo de 'esa' hoja ==Dim Tiene_VD As Boolean, Anterior
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("c1:c65")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Tiene_VD = Target.Validation.Type > 0
If Not Tiene_VD Then Exit Sub
If Anterior <> "" Then Anterior = Anterior & ","
Application.EnableEvents = False
Target = Anterior & CStr(Target)
Anterior = CStr(Target)
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then Anterior = CStr(Target)
End Sub

nota: 'tal como esta' el codigo...
-> NO 'permite' borrar el contenido de las celdas 'validadas'... [acumula un 'vacio_coma' para la siguiente] :((
si necesitas 'permitir' que se borre el contenido de las celdas validadas...
-> cambia en el evento '_change' la ante-penultima linea de codigo
de: Target = Anterior & CStr(Target)
a: If Len(Target) > 0 Then Target = Anterior & CStr(Target) Else Target.ClearContents
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida