Activar "Enable" dependiendo del valor de otra casilla

Estoy en una beca y continuamente trabajo con excel 2007. El caso es que me gustaría que automatizar lo siguiente:
Dependiendo del valor de una celda (pj: entre 10 y 20) se active la propiedad "Enable" de un control de formulario tipo cuadro combinado y cuando el valor de la celda sea diferente (pj: entre 20 y 30) no se pueda acceder a ese formulario.
La idea general es que si tuviéramos pj. 10 filas en la columna A y en cada fila un valor, dependiendo de ese valor en la columna B se nos tendría que activar en cada fila la posibilidad de elegir entre unas opciones de un cuadro combinado.

1 respuesta

Respuesta
1
Primeramente tendrías que decirme si necesitas moverte en otras columnas.
Podrías utilizar un código como este:
If ActiveCell.Value >= 10 And ActiveCell.Value <= 20 Then ListBox1.Enable = True
If ActiveCell.Value >= 21 And ActiveCell.Value <= 30 Then ListBox1.Enable = False
[email protected]
Buenas,
Muchas gracias por responderme.
En principio sólo me movería en una columna (la D) donde se encuentran los posibles valores que deben acivar o desactivar el check box de la fila correspondiente (pero que que están ubicados en la columna G).
Aprovecho para comentarte otro pequeño problema asociado.
El caso es que deseo ir modificando la propiedad de "casilla asociada" a cada chek box y no consigo una manera de ir seleccionado cada uno de ello en función de su numeración. Lo que he intentado es lo siguiente:
Activesheet .Shapes("Check box" & i).Select
...
Y también:
Range(Checkbox & i).Select
...
Con "i" variando de 1 en 1.
Bueno, espero que puedas echarle un ojo porque me sería muy útil.
Muchas gracias de antemano.
Un saludo
Prueba con esto:
Dim i As Integer
With Sheets("Tu_Hoja")
For i = 1 To .CheckBoxes.Count
.CheckBoxes(i).Value = True
Next i
End With
Si son objetos insertados en la hoja tipo OleObjects, utiliza esto:
Dim Check As OLEObject
For Each Check In Sheets("PERCEPCION").OLEObjects
If Check.Object.Value = False Then
Check.Object.Value = True
End If
Next
End Sub
[email protected]
Buenas,
Me ha servido de mucho el código que me has aclarado.
Aún así respecto del código referente a activar o desactivar la propiedad enable, cuando utilizo los checkboxs en vez de listboxs me dice que esa propiedad no la posee.
De todas maneras pienso borrarlos (los checkbox) en vez de desactivar la propiedad enable en las condiciones que le introduzca.
Has sido muy amable y me has sido de gran ayuda.
Si tuviera más dudas intentaré contactar contigo, aunque espero no haberte robado mucho tiempo.
Muchísimas gracias.
Un saludo
Con gusto y aquí estaré por si cualquier otra consulta.
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas