Compartir a través de


Cómo: Cambiar el tamaño de controles en celdas de hojas de cálculo

Cuando cambia el tamaño de las columnas o las filas de una hoja de cálculo, cualquier control host contenido en las celdas cambia de tamaño automáticamente para ajustarse al alto o ancho de la celda cuyo tamaño cambió. Los controles de formularios Windows Forms no cambian el tamaño automáticamente de forma predeterminada.

Se aplica a: la información de este tema se aplica a los proyectos de nivel de documento para Excel 2007 y Excel 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Si se agregan en tiempo de diseño, debe establecer las opciones de posición para cada control.

Si agrega un control de formulario Windows Forms mediante programación y proporciona un argumento de rango, el control cambia automáticamente el tamaño cuando se cambia el tamaño de una celda contenida en el rango. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.

Cambiar el tamaño de los controles en tiempo de diseño

Para hacer que cambie el tamaño de los controles junto con las celdas en tiempo de diseño

  1. Desde el Cuadro de herramientas arrastre un control de formulario Windows Forms hasta una hoja de cálculo.

  2. Haga clic con el botón secundario en el control y, a continuación, haga clic en Formato de control.

  3. En el cuadro de diálogo Formato de control, haga clic en la ficha Propiedades.

  4. En Ubicación del objeto, seleccione la opción Mover y cambiar tamaño con celdas y haga clic en Aceptar.

    Cuando se cambia el tamaño de la celda que contiene el control, el control cambia el tamaño para ajustarse a la celda.

Cambiar el tamaño de los controles en tiempo de ejecución

Si agrega un control de formulario Windows Forms en tiempo de ejecución y pasa Microsoft.Office.Interop.Excel.Range como la ubicación para el control, el control cambiará automáticamente el tamaño cuando se cambie el tamaño de la celda de hoja de cálculo que contiene el rango.

Para hacer que cambie el tamaño de los controles junto con las celdas en tiempo de ejecución

  • Agregue un control al rango A1.

    Dim control1 As Microsoft.Office.Tools.Excel.Controls.Button = _
        Me.Controls.AddButton(Me.Range("A1"), "control1")
    
    Microsoft.Office.Tools.Excel.Controls.Button control1 =
        this.Controls.AddButton(this.Range["A1", missing], "control1");
    

    Cuando se cambia el tamaño de la celda que contiene el control, el control cambia el tamaño para ajustarse a la celda.

Restablecer la ubicación del control

Puede restablecer la ubicación y el tamaño del control estableciendo la propiedad Placement en uno de los valores de XlPlacement siguientes:

Para cambiar el comportamiento de un control para que no cambie de tamaño ni se desplace con la celda

  • Llame a la propiedad de ubicación del control y establezca el valor en xlFreeFloating.

    control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating
    
    control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating;
    

Vea también

Tareas

Cómo: Agregar controles de Windows Forms a documentos de Office

Cómo: Ocultar controles en hojas de cálculo al imprimir

Conceptos

Agregar controles a documentos de Office en tiempo de ejecución

Limitaciones de los controles de formularios Windows Forms en los documentos de Office

Otros recursos

Controles en documentos de Office