Controles de formulario en Excel

Los controles de formulario en Excel son objetos que podemos colocar dentro de una hoja de nuestro libro, o dentro de un formulario de usuario en VBA, y nos darán funcionalidad adicional para interactuar mejor con los usuarios y tener un mejor control sobre la información.

Podemos utilizar estos controles para ayudar a los usuarios a seleccionar elementos de una lista predefinida o permitir que el usuario inicie una macro con tan solo pulsar un botón. Los controles de formulario en Excel se encuentran dentro de la ficha Programador dentro del grupo Controles. Solamente pulsa el botón Insertar y observarás cada uno de ellos:

Controles de formulario en Excel

Justo por debajo de los controles de formulario podrás observar el grupo de controles ActiveX pero sus diferencias y similitudes las discutiremos en otro artículo. Por ahora nos enfocaremos solamente en los controles de formulario.

¿Cómo insertar un control de formulario en Excel?

Para insertar cualquiera de los controles de formulario debes seleccionarlo del menú desplegable y hacer clic sobre la hoja de Excel arrastrando el borde para “dibujar” el contorno del control. Observa este procedimiento.

Insertar un control de formulario en Excel

Los diferentes controles de formulario

Existen diferentes tipos de controles de formulario en Excel que ofrecen diversos tipos de funcionalidad e interacción con el usuario. Desde una simple etiqueta hasta controles que permiten una selección múltiple de sus opciones. A continuación una breve descripción de cada uno de ellos.

  • Barra de desplazamiento. Al hacer clic en las flechas se va desplazando la barra dentro de un intervalo predefinido.
  • Botón. El botón nos permite ejecutar una macro al momento de hacer clic sobre él.
  • Botón de opción. Nos permite una única selección dentro de un conjunto de opciones.
  • Casilla de verificación. Permite la selección o no selección de una opción.
  • Control de número.  Nos ayuda a aumentar o disminuir un valor numérico.
  • Cuadro combinado. Es una combinación de un cuadro de texto con un cuadro de lista.
  • Cuadro de grupo. Agrupa varios controles dentro de un rectángulo.
  • Cuadro de lista. Muestra una lista de valores de los cuales podemos elegir una sola opción  o múltiples opciones de acuerdo a la configuración del control.
  • Etiqueta. Permite especificar un texto o breves instrucciones en el formulario.

Controles de formulario no disponibles en Excel 2010

Los controles de formulario han estado presentes por varias versiones de Excel, sin embargo a partir de Excel 2010 existen algunos controles que ya no pueden ser utilizados dentro de las hojas como lo son el Campo de texto, el Cuadro combinado de lista y el Cuadro combinado desplegable, sin embargo podremos alcanzar funcionalidad similar utilizando controles ActiveX.

Artículos relacionados
Formularios en Excel

24 pensamientos en “Controles de formulario en Excel

  1. OSCAR

    Excelentes explicaciones, gracias

  2. victor

    como puedo colocar varios botones de accion y que este con el mismo margen y separacion entre ellos
    gracias

    1. Moisés Ortíz Autor

      Hola Victor, Si estás agregando los controles de formulario a una hoja de Excel los puedes alinear con el comando Alinear que se encuentra en la ficha Diseño de página. Si por el contrario estás agregando los controles de formulario a un UserForm los puedes alinear desde la opción de menú Formato > Alinear.

  3. YURI

    al llenar un formulario, que codigo debo poner para que ne la hoja de excel siempre salga en mayùsculas

    ejem. si pongo yUri salga YURI
    Gracias a todos

    1. Moisés Ortíz Autor

      Hola Yuri, Puedes utilizar la función UCase de VBA para hacer que el texto capturado se convierta a mayúsculas. Por ejemplo:
      Range(“A1″) = UCase(TextBox1.Text)

  4. Carlos

    Buenas Tardes..
    como puedo activar la pestana de Programador? ya que en el Excel que tengo no lo muestra

  5. Susana Leao

    Hola,
    Me gustaría saber si existe una opción para bloquear los controles de formulário, es decir, que no haya ninguna posiblidad de modificar la casilla.
    Muchas gracias,
    Susana.

    1. Moisés Ortíz Autor

      Hola Susana, una vez que has agregado la casilla al formulario debes hacer clic derecho sobre el control y seleccionar Propiedades. Para deshabilitar ese control cambia el valor de la propiedad Enabled a False.

  6. Maite

    Hola Moisés:
    En un formulario tengo varios CheckBox (son controles de formulario), ¿cómo puedo hacer, mediante código, para ocultar uno de ellos? Da la impresión de que no reconoce estos checkbox, o no doy con el nombre que los identifica.

    Un saludo y muchas gracias de antemano
    Maite

    1. Moisés Ortíz Autor

      Hola Maite, para ocultar un checkbox utiliza la siguiente instrucción:
      ActiveSheet.CheckBoxes(“Check Box 1″).Visible = False

  7. marta

    Yo necesito hacer una encuesta con 6 botones en cada pregunta y con 38 preguntas, pero no puedo hacer los botones independientes entre preguntas. como lo hago?

    gracias

  8. hector

    gracias por el apoyo esta muy bien

  9. LUIS

    Hola Moisés..
    Me gustaría saber si es posible que al ocultar una fila y/o columna se oculte igual un checkbox, ya que puse checkbox sobre la hoja de calculo, pero al ocultar toda la fila el checkbox se mantiene visible..
    Gracias y saludos!!!!!!!!!!

    1. Moisés Ortíz Autor

      Hola Luis, los controles de formulario no están asociados a ninguna celda y por eso no son ocultados cuando utilizamos la funcionalidad de Excel para ocultar una fila/columna.
      Para lograr ese efecto debes validar (con VBA) cada vez que se oculte una fila o columna y decidir si quieres ocultar el control utilizando su propiedad Visible.

  10. Hugo

    Hola, en mi pantalla de Excel 2010 no aparece la ficha Programador alguien me puede ayudar

  11. Dueñas Calderon

    Muchas Gracias Es una muy buena pagina gracias

  12. Josam AYALA

    Me sirvio el ejemplo, muchas gracias

  13. oscar charry

    Excelente didáctica,forma en el hacer,en el ser y en el conocer

  14. Rubby Cortéz

    Es posible cambiar la propiedad value de un checkbox a través de código en una macro? es posible hacerlo dentro de su evento click?
    Es decir, quiero que al activarlo ejecute ciertas acciones y al final de ellas lo deje desactivado… será posible? Gracias por la ayuda

    1. Moisés Ortíz Autor

      Hola Rubby, te sugiero utilizar un control ActiveX el cual te permitirá utilizar fácilmente el evento Click. En ese caso podrás utilizar la siguiente instrucción para desmarcar la caja de selección:
      CheckBox1.Value = False

  15. Blanca Fernández de García

    Excelente la información,gracias.