Código VBA para controlar las casillas de verificación de control de formularios
Índice
Las casillas de verificación son una de las formas más sencillas de crear interacción con los usuarios. Controlarlos con VBA los hace más flexibles y útiles en aplicaciones de Excel.
A continuación se muestra una colección de los fragmentos de código y las configuraciones más comunes.
Crear casillas de verificación
El siguiente código creará una casilla de verificación.
Sub CreateCheckBoxes()'Crear variableDim chkBox As CheckBox'Crear casilla de verificaciónEstablecer chkBox = ActiveSheet.CheckBoxes.Add(Arriba:=0, Alto:=1, Ancho:=1, Izquierda:=0)End Sub
Recorre todas las casillas de verificación
Si desea aplicar la misma configuración o valores a todas las casillas de verificación en una hoja de trabajo, puede lograrlo recorriendo las casillas de verificación y aplicando las configuraciones individualmente.
Sub LoopThroughCheckboxes()'Crear variableDim chkBox como CheckBox'Recorre cada casilla de verificación en la hoja activa Para cada chkBox en ActiveSheet.CheckBoxes 'Haz algo en cada casilla de verificación usando chkBox.Next chkBoxEnd Sub
Establecer casilla de verificación en una variable
La siguiente macro establecerá una casilla de verificación para una variable.
Sub SetCheckboxToVariable()'Crear variableDim chkBox As CheckBox'Establecer la variable en una casilla de verificación específicaEstablecer chkBox = ActiveSheet.CheckBoxes("CheckBoxName")End Sub
Configuraciones comunes de casillas de verificación
Las configuraciones que probablemente necesite cambiar se incluyen en la siguiente macro.
Sub CommonCheckboxSettings()'Crear variableDim chkBox como CheckBox'Establecer la variable en una casilla de verificación específicaEstablecer chkBox = ActiveSheet.CheckBoxes("CheckBoxName")'Establecer la variable en el nombre de la casilla de verificación que llama a la macroEstablecer chkBox = ActiveSheet.CheckBoxes(Application.Caller )'Establece el nombre de la casilla de verificaciónchkBox.Name = "CheckBoxName"'Establece el valor de una casilla de verificación (3 valores posibles)chkBox.value = xlOffchkBox.value = xlOnchkBox.value = xlMixed'Establece el sombreado de la lata en True o FalsechkBox. Display3DShading = TruechkBox.Display3DShading = False'Establecer la celda vinculadachkBox.LinkedCell = "$E$5"'Restablecer la celda vinculada a nadachkBox.LinkedCell = ""'Establecer la posición de la casilla de verificaciónCon chkBox .Top = 20 .Left = 20 .Height = 20 .Width = 20End With'Cambiar las casillas de verificación captionchkBox.Caption = "título de la casilla de verificación"'Mostrar el nombre de la hoja que contiene la casilla de verificaciónMsgBox chkBox.Parent.Name'Mostrar la dirección de la celda con el píxel superior izquierdo'de la verificación boxMsgBox chkBox.TopLeftCell.Address'Muestra la dirección de la celda con el píxel inferior derecho'de la casilla de verificaciónMsgBox chkBox.BottomRightCell'Establece la macro que se llamará haciendo clic en la casilla de verificaciónchkBox.OnAction = "NameOfMacro"'Elimina la macro que se llamachkBox. OnAction = ""'¿Está habilitada la casilla de verificación? True o FalsechkBox.Enabled = FalsechkBox.Enabled = True'Establezca la casilla de verificación para no moverse con las celdaschkBox.Placement = xlFreeFloating'Establezca la casilla de verificación para moverse con las celdaschkBox.Placement = xlMove'Establezca la opción de impresión de la casilla de verificación True o FalsechkBox.PrintObject = TruechkBox.PrintObject = False'Eliminar la casilla de verificaciónchkBox.DeleteEnd Sub
Eliminar todas las casillas de verificación de la hoja activa
Sub EliminarAllCheckBoxes()ActiveSheet.CheckBoxes.DeleteEnd Sub
Subir
Deja una respuesta