jueves, 9 de marzo de 2017

VBA: Insertar un CheckBox en nuestra Hoja con macros

En más de una ocasión me han preguntado por la forma de insertar mediante programación diferentes controles de formulario en celdas de nuestra hoja de cálculo Excel.
Básicamente la idea es automatizar la creación de plantillas o modelos en nuestras hojas.

Veremos qué tan sencillo es.
Nuestra macro la creamos en un módulo estándar de nuestro libro de trabajo.

Sub InsertarControlFormularioCheckBox()
'añadimos un control de formulario tipo CheckBox
'en una celda concreta de nuestra hoja de cálculo
Sheets("Hoja1").CheckBoxes.Add(Left:=Range("B1").Left, _
        Top:=Range("B1").Top, _
        Width:=Range("B1:C1").Width, _
        Height:=Range("B1").Height).Select

'asignamos propiedades a este CheckBox
With Selection
    .Name = "ChkBoxUNO"                     'Damos nombre al Control
    .Caption = "Test Añadir CheckBox"       'Texto a desplegar
    .LinkedCell = "D1"                      'cuál es la celda vínculada
    .Value = xlOn            'devuelve valor Marcado-Verdadero(Marcado/Desmarcado)
    .Display3DShading = True                'por estética damos formato de sombra 3D
End With
End Sub



Como observamos la primera sentencia
.CheckBoxes.Add
nos permite situar el control respecto de la ubicación actual de una celda concreta (en el ejemplo B1), asignándole además de las propiedades .Top y .Left otras dos habituales (Alto-Height y Ancho-Width).

En el siguiente grupo de instrucciones nos lanzamos a completar algunas de las propiedades que encontraríamos en el Formato de Control:
1-Valor (.Value)
2-Celda vinculada (.LinkedCell)
3-Sombreado 3D (.Display3DShading)
4-El Texto mostrado (.Caption)
5-y el más importante el nombre del control!! (.Name)

VBA: Insertar un CheckBox en nuestra Hoja con macros



Con la macro explicada estamos listos para ejecutarla, obteniendo el siguiente resultado en nuestra Hoja1:

VBA: Insertar un CheckBox en nuestra Hoja con macros

No hay comentarios:

Publicar un comentario