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.
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.
Ver propiedades de una celda con vba.rar