miércoles, 18 de enero de 2017

Cómo hacer referencia a celdas en VBA Excel (III)


El tercer capítulo de esta serie "Cómo hacer referencia a celdas en VBA Excel" lo vamos a dedicar a conocer la utilización de nombres de rango para utilizarlos a la hora de referirnos a celdas o rangos. También veremos otras formas de hacer referencia a celdas o rangos distintas a las vistas hasta ahora.



Referencia a celdas o rangos con nombres de rango

Los nombres de rango ofrecen dos ventajas frente a la utilización de propiedades como "Range" o "Cells":
  1. Actuan como variables. Es decir, si posteriormente a escribir el código se insertan o eliminan filas o columnas, el nombre de rango siempre mantendrá la referencia a las celdas correctas.
  2. No es necesario anteponer el nombre de la hoja que contiene el rango


Para utilizar un nombre de rango con la finalidad de hacer referencia a una celda o rango de celdas, lo podemos hacer así:

     Range("NombreRango").Select

... o con el método abreviado, con corchetes:

     [NombreRango].Select


Combinación de "Range" con "Cells"

       Range(Cells(1, 3),Cells(3, 8)).Select

     Vemos que cada argumento de la propiedad "Range" contiene la propiedad "Cells" para definir las celdas superior
     izquierda e inferior derecha del rango.


Seleccionar la última celda con datos en una lista continua



       Range("A1").End(xlDown).Select

         Utilizamos la propiedad "End" con el argumento "xlDown" para ir al final del rango con datos. Si la lista tuviera
         un "hueco", la celda seleccionada sería la última antes de aparecer el hueco.



Seleccionar la última celda con datos en una lista discontinua



       Range("A1048576").End(xlUp).Select

         Utilizamos la propiedad "End" aplicada a la última celda de la columna A y con el argumento "xlUp" para que
         Excel seleccione la primera celda que tiene datos, empezando a buscar desde abajo hacia arriba.


Seleccionar el rango de datos relacionado con la celda activa


       Range("B4").CurrentRegion.Select


Seleccionar el rango de datos relacionado con la celda activa




       ActiveSheet.UsedRange.Select


Si desea llevar a la práctica todo lo que le hemos ofrecido en este artículo, puede asistir a nuestros cursos prácticos de Excel o puede solicitarlos in company:







3 comentarios:

  1. Exelentes explicaciones. Muchas gracias. Me han sido de extrema utilidad.
    Héctor

    ResponderEliminar
  2. ¿Es mejor especializarse en una habilidad específica o buscar cursos que ofrezcan un conjunto más amplio de habilidades como este de administrador de servidores y páginas web https://fpformacionprofesional.com/cuales-son-las-asignaturas-que-estudiaras-para-convertirte-en-administrador-de-servidores-y-paginas-web-art ?

    ResponderEliminar