Yo lo haría por código. Una forma de hacerlo podría ser:
Crea un campo de texto en el mismo formulario, y en su hoja de propiedades, en la pestaña de formato, ponlo a Visible: no, así no se verá en pantalla.
Supongamos que se llama Seleccionados
En el evento Form_Open, si por ejemplo hay 0 seleccionados pones:
Seleccionados = 0
Para cada una de las opciones de verificación tienes que incluir, para el evento después de actualizar, el siguiente fragmento de código (suponiendo que se llaman Verificacion1, Verificacion2, ...):
Para el caso de Verificacion1 seria como sigue:
Private Sub Verificacion1_AfterUpdate()
If Seleccionados = 30 then
msgbox "No se pueden seleccionar más opciones"
Verificacion1 = false
else
If Verificacion1 then
Seleccionados = Seleccionados + 1
Else
Seleccionados = Seleccionados - 1
Endif
Endif
End Sub
Para Verificacion2 seria lo mismo pero cambiando Verificacion1 por Verificacion2, y así para todas las casillas de verificación.
Todo esto hace que cada vez que seleccionas una opción mira cuantas hay marcadas. Si hay 30 te dice que no se pueden marcar más y te la pone a falso, en caso contrario incrementa en 1 las opciones marcadas y si la desmarcas baja un número.
No es la opción más eficiente ni elegante, pero si te vale, ok.