Deberás utilizar código Visual Basic en conjunto con la propiedad Enabled.
Pero siempre va a depender donde tengas ubicados los checkbox o los botones
de opción. Es decir, si los tienes dentro de un Marco, entonces siempre
usarías el valor de dicho Marco. Ejemplo, si tienes tres checkbox dentro de
un Marco, el primer checkbox pudiera tener el valor de 1, el segundo checkbox
tendría el valor de 2 y el tercer checkbox pues 3. (Propiedad Valor de la
Opción de cada uno de los checkbox). Igual funcionaría con los Botones de
Opción. Y luego en lugar de preguntar el valor de los checkbox o los botones
de opción, preguntarías a través de código el valor del Marco o Marcos que
tengas.
En este ejemplo, voy a usar código como si no tuvieras los controles dentro
de Marcos. En todo caso, si los tienes dentro de Marcos, sólo pregunta el
valor del marco (que estos valores son los que te comentaba en el ejempo de
arriba de los checkbox 1, 2 ó 3).
1) En el primer caso (Una Casilla de Verificación):
Selecciona la casilla de verificación (le pondré el nombre Casilla en este
ejemplo) y en el Evento Después de Actualizar coloca un código que bien
pudiera ser este:
Private Sub Casilla_AfterUpdate()
If Casilla.Value= -1 then
CuadroDeLista.Enabled = True
Else
CuadroDeLista.Enabled = False
End If
End Sub
2) En el segundo caso (Un botón de Opción):
Private Sub Botón_AfterUpdate()
If Boton.Value= -1 then
campo.Enabled = True
Else
campo.Enabled = False
End If
End Sub
Ahora bien, usando Marcos, selecciona el marco y en el evento AfterUpdate
(Después de Actualizar) u otro que te parezca mejor según tus necesidades y
siempre vas a llamar al valor de dicho marco y a partir de él usas el código,
a tu conveniencia:
Private Sub Marco1_AfterUpdate()
If Marco1.Value= 1 then
CuadroDeLista.Enabled = True
Else
CuadroDeLista.Enabled = False
End If
End Sub
Saludos,
Carlos - Caracas - Venezuela.