Obtener propiedades de una celda en Excel mediante macros vba

Para seguir con el tema de las macros, en este artículo aprenderás a obtener propiedades una celda (la celda activa) mediante macros de vba.Dichas propiedades las vamos a volcar a un formulario (Userform).

Cómo funciona

Tenemos una tabla de ejemplo la cual hemos formateado previamente. He desarrollado un formulario el cual devolverá el tipo de formato de la celda activa. Los formatos y propiedades que se obtendrán para este ejemplo son:

  • Tipo de fuente, Color de fuente y Fondo de celda.
  • Si la celda tiene fórmula.
  • En caso de que la celda tenga fórmula, la mostraremos.
  • Alto de fila.
  • Ancho de columna.

En la siguiente animación vemos cómo funciona el formulario, para después hacerles unas notas al respecto.

Obtener propiedaes de celda mediante usandos macros vba

Figura 1. Obtener propiedaes de celda mediante usandos macros vba.

Ver video Obtener propiedades de una celda de Excel con macros vba

SUSCRÍBETE A MI CANAL DE YOUTUBE.

Notas sobre las macros

Primero tendremos la macro LanzarFormulario que mostrará el formulario el modo Modal, los cual significa que podremos elegir celdas aunque esté en ejecución. Como lo vimos en la Figura 1.

Sub LanzarFormulario()

UserForm1.Show vbModal = False

End Sub

Objeto ActiveCell. Se refiere a la celda activa, es decir, la celda seleccionada, de la cual obtendremos las propiedades. En la siguiente macro mostramos un mensaje donde indicamos el nombre de la fuente usada en la celda activa.

Sub MostrarFuente()

MsgBox ActiveCell.Font.Name

End Sub

Evento Initialize. Este evento se lanzará al momento de abrir el formulario, el código ingresado en dicho evento se ejecutará justo al iniciar el formulario.

Código de las macros vba

'---------------------------------------------------------------------------------------
' Module    : UserForm1
' Author    : MVP, Sergio Alejandro Campos
' Date      : 30/09/2016
' Web       : exceleinfo.com
' Videos    : youtube.com/user/sergioacamposh
'---------------------------------------------------------------------------------------

'Al iniciar el formulario
Private Sub UserForm_Initialize()

'Validamos si la celda tiene fórmula
If ActiveCell.HasFormula Then
    TieneFx = "Si"
Else
    TieneFx = "No"
End If

'Asignamos valores a los TextBoxes
Me.txtTieneFx.Value = TieneFx
Me.txtFx.Value = ActiveCell.FormulaLocal
Me.txtAltoFila.Value = ActiveCell.EntireRow.RowHeight
Me.txtAltoColumna.Value = ActiveCell.EntireColumn.Width

'Definimos valores a la variables para Fuete, Color y Fondo
Fuente = ActiveCell.Font.Name
ColorFuente = ActiveCell.Font.Color
Fondo = ActiveCell.Interior.Color

'Damos formato al txtFuente

With Me.txtFuente

    .Value = ActiveCell.Value
    .Font = Fuente
    .ForeColor = ColorFuente
    .BackColor = Fondo

End With

End Sub

'Mediante el botó Actualizar llamamos al evento Initialize
Private Sub CommandButton2_Click()
'Mandamos llamar el evento Initialize del formulario
UserForm_Initialize
End Sub

'Cerrar el formulario
Private Sub CommandButton1_Click()
Unload Me
End Sub

Descarga el ejemplo

Descarga el archivo de ejemplo para aplicar las macros a tus proyectos personales y profesionales.

Descargar el ejemplo Ver propiedades de una celda con vba.rar

You may also like...