29 mayo, 2023

COLOCAR ENCABEZADOS CON VBA IGUALANDO UN RANGO A UN ARRAY

Hola a todos!:

Estos días estoy más liado de lo normal!, de repente se ha vuelto todo muchas … Intenso!. En fin, hay temporadas más tranquilas y otras con más trabajo, así es la vida.

Pero no por eso voy a dejar de publicar el post semanal de Excel y VBA, verdad?. Esta temporada estoy subiendo muchos vídeos de ejemplo de mis post a LinkedIn para que los usuarios de la red vean cómo funciona realmente un procedimiento o una fórmula.

Hoy quiero compartir una de tantas formas que existen para crear y colocar encabezados en nuestros informes. Desde la igualación de celdas a un valor a un proceso  mediante un loop o igualando un rango a un array.

Este último ejemplo es el que vamos a ver hoy, y es muy sencillo: Imaginad que queréis mostrar siempre este encabezado en la hoja que se esté activa:

COLOCAR ENCABEZADOS CON VBA IGUALANDO UN RANGO A UN ARRAY

Para conseguirlo, lo vamos a hacer con 5 líneas de código:

Sub ENCABEZADOS()
With Range("A1:F1")
.Value = Array("NOMBRE", "APELLIDOS", "EDAD", "ESTUDIOS", "TELÉFONO", "DIRECCIÓN")
.Font.Bold = True
.Font.Color = vbRed
End With
End Sub

Como podéis ver,  no hemos usado una sola variable, simplemente hemos definido el rango y lo igualamos al Array que hemos creado con los nombres que queremos usar como encabezados, la coma es el separador entre los distintos elementos del array.

Para colorear las letras, usamos la propiedad font.color y usando una constante para darle color rojo.

Para dar formato negrita, pasamos propiedad Bold como true.

Ya se que es un post cortito, pero para los que no conocéis este método, estoy seguro que os seré de utilidad en algún momento.

Descarga el archivo de ejemplo pulsando en: COLOCAR ENCABEZADOS CON VBA IGUALANDO UN RANGO A UN ARRAY

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post

4 comentarios en «COLOCAR ENCABEZADOS CON VBA IGUALANDO UN RANGO A UN ARRAY»

  1. Hola, gracias por la aportación me ha servido demasiado, sim embargo quisiera saber si hay alguna forma de hacer lo mismo pero a nivel de filas, es decir, colocar texto con un array en el rango («A5:A42») ya que he tratado de colocarlo sin embargo únicamente me coloca el primer valor del arreglo en todo el rango indicado.

    1. Hola:

      Tienes que transponerlo:

      Sub ENCABEZADOS()
      With Range("A5:A10")
      .Value = Application.Transpose(Array("NOMBRE", "APELLIDOS", "EDAD", "ESTUDIOS", "TELÉFONO", "DIRECCIÓN"))
      .Font.Bold = True
      .Font.Color = vbRed
      End With
      End Sub

  2. hola buenas tardes, estoy iniciandome en el mundo del Excel y realizando una hoja de captura de datos utilizando vba, el tema es que le coloque encabezados y en la primera pagina lo hace perfecto pero al saltar a la segunda ubica los registros desordenadamente y no comienza en la linea siguiente a los encabezados…… podria ayudarme al respecto? gracias

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies