TOP

VBA-Lección 5. Propiedades (Properties)

En este artículo, aprenderemos a escribir código VBA para manipular el contenido de las celdas, las celdas mismas y las hojas.

Una propiedad es un atributo de un objeto que define una de las características del objeto, como su tamaño, color o posición en la pantalla, o un aspecto de su comportamiento, como si está habilitado o visible.

Para cambiar las características de un objeto, debe cambiar el valor de sus propiedades.


1. Escribe los valores en la celda

Primero, abra el editor, agregue un módulo, copie esta macro allí:

Sub Properties() 'moonexcel.com.ua
   Range ("A1")
End Sub

Pasamos a la celda A1. Ahora intentemos controlar esta celda. Para ver lo que podemos hacer, agreguemos un punto después de Range("A1").

Seleccione el valor Value y presione Tab. Obtendremos el siguiente código:

Sub Properties() 'moonexcel.com.ua
        Range ("A1").Value
End Sub

El valor Value muestra el contenido de la celda.

Ahora escribamos el valor 35 en la celda A1:

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = 35
   'El valor de la celda A1 es 35
End Sub

Ahora intentemos escribir el texto en la celda (al asignar un valor de texto, debe estar entre comillas dobles ""):

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = "aqui hay algo de texto"
End Sub

Tenga en cuenta que la macro mostrará los valores en la hoja que abrió por última vez. Por lo tanto, para controlar el contenido de una celda en cualquier hoja del libro, necesitaremos escribir la ruta completa a la celda, es decir, agregar el nombre de la hoja al principio del código, por ejemplo:

Opción 1. Aplicamos por el nombre de la letra - Sheets("Sheet2").

Sub properties() 'moonexcel.com.ua
   Sheets("Sheet2").Range("A1").Value = "aqui hay algo de texto"
   'Significa: abre la hoja 2, selecciona la celda A1 y escribe texto en su valor
End Sub

Opción 2. No aplicamos por el nombre de la carta, sino por su número de serie: Sheets(2).

Sub properties() 'moonexcel.com.ua
   Sheets(2).Range("A1").Value = "aqui hay algo de texto"
End Sub

De manera similar, si queremos hacer referencia a una celda en otro libro de trabajo, debemos escribir el nombre del libro de trabajo al comienzo del código:

Sub properties() 'moonexcel.com.ua
   Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A1").Value = "aqui hay algo de texto"
End Sub

Aunque especificamos el parámetro Value en nuestros ejemplos, en realidad se puede omitir ya que es el valor predeterminado. Es decir, estas dos líneas de código serán equivalentes:

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = 35
   Range("A1") = 35
End Sub

2. Eliminación de valores

Eliminemos el valor 35 de la celda A1, que registramos al comienzo de la lección:

Sub properties() 'moonexcel.com.ua
   Range("A1").Clear
   'Significa: seleccionar la celda A1 y borrarla
End Sub

3. Formateo de valores

Si selecciona el valor Font, aparecerá una lista de propiedades que puede aplicar a la celda:

Formateo: cambiar el tamaño del texto

Establezcamos la celda en 35 y reduzcamos el tamaño de fuente a 8:

Sub properties() 'moonexcel.com.ua
   Range("A1") = 35
   Range("A1").Font.Size = 8
End Sub

Formato: poner el texto en negrita

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Bold = True
End Sub

Eliminar secreciones aceitosas:

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Bold = False
End Sub

Formato: poner el texto en cursiva

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Italic = True
End Sub

Formato: texto subrayado

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Underline = True
End Sub

Formato: establecer el tipo de fuente

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Name = "Arial"
End Sub

Formato: colorea la celda

Sub properties() 'moonexcel.com.ua
   Range("A1").Interior.ColorIndex = 6
End Sub