41 formas de hacer referencia y seleccionar celdas en Excel

Una de las primeras tareas que he enseñado en mis cursos presenciales ha sido a seleccionar celdas. Antes de nada, he de decirte que, para trabajar con celdas, no es necesario seleccionarlas, pero los que te muestro ahora te servirán para entender cómo funciona la selección de objetos.

Hacer referencia a una celda (seleccionándola o no) te permitirá trabajar cambiar sus propiedades o ejecutar métodos

1. Cómo hacer referencia a todas las hojas del libro activo

ActiveWorkbook.Sheets.Select

2. Cómo hacer referencia a la hoja “Presupuestos”

Sheets("Presupuestos").Select

3. Cómo hacer referencia a la hoja que se encuentra en la tercera posición sin importar el nombre

Sheets(2).Select

4. Cómo hacer referencia a la hoja anterior a la hoja activa

ActiveSheet.Previous.Select

5. Cómo hacer referencia a la hoja siguiente a la activa

ActiveSheet.Next.Select

6. Cómo hacer referencia a una celda de otro libro

Application.Goto Workbooks("Libro1.xlsm").Sheets("Hoja1").Cells(5, 3)

7. Cómo hacer referencia a una hoja grabando previamente el nombre en una variable

Dim NombreHoja As String
NombreHoja = ActiveSheet.Name

8. Cómo hacer referencia a las hojas anterior y posterior a la activa utilizando una variable

NombreHoja = ActiveSheet.Previous.Name
NombreHoja = ActiveSheet.Next.Name

9. Cómo hacer referencia a los índices de las hojas anterior y posterior a la activa

Dim IndiceHoja As Byte
IndiceHoja = ActiveSheet.Index ‘ Hoja activa
IndiceHoja = ActiveSheet.Previous.Index ‘ Hoja anterior
IndiceHoja = ActiveSheet.Next.Index ‘ Hoja posterior

10. Cómo seleccionar la celda C6 de la Hoja 2

Sheets("hoja2").Range("C6").Select

11. Otra forma de seleccionar la celda C6

Sheets("Hoja2").Cells(6, 3).Select

12. Otra forma más de seleccionar la celda C6

Sheets(“Hoja2”).[C6].Select

13. Cómo seleccionar el rango de celdas de A1 a B8

Range("A1:B8").Select

14. Otra forma de seleccionar el rango de celdas de A1 a B8

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

15. Otra forma más de seleccionarel rango de A1 a B8

Range("A1", "B8").Select

16. Cómo seleccionar toda la columna C

Range("C:C").Select

17. Cómo seleccionar todas las celdas de las columnas desde la A hasta la D

Range("A:D").Select

18. Cómo seleccionar todas las celdas de la fila 6

Range("6:6").Select

19. Cómo seleccionar todas las celdas desde la fila 2 a la fila 6

Range("2:6").Select

20. Cómo seleccionar dos o más rangos a la vez (similar a utilizar la tecla Ctrl).

Application.Union(Range("A3: C8"), Range("F3: H19")).Select

21. Cómo seleccionar dos o más columnas no contiguas de longitud variable

Set a = Range("A1", Range("A1").End(xlDown))
Set b = Range("E1", Range("E1").End(xlDown))
Union(a, b).Select

22. Cómo aumentar un rango dado en 7 columnas y 6 filas y seleccionarlo

Range("D10").Resize(7, 6).Select

23. Cómo seleccionar un rango mayor al actual estableciendo la cantidad de filas y columnas a agregar

Range("C2:D10").Select
Selection.Resize(Selection.Rows.Count + 5, Selection.Columns.Count + 4).Select

24. Cómo seleccionar desde la celda A1 hasta la última celda con datos hacia abajo (igual que seleccionar la celda A1 y pulsar Ctrl+Mayús+Flecha abajo)

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

25. Otra forma de hacer la selección anterior

Range("A1:" & Range("A1").End(xlDown).Address).Select

26. Cómo seleccionar desde la celda A5 hasta la última celda con datos hacia la derecha (igual que pulsar Ctrl+Mayús+Flecha derecha)

Range("A5", Range("A5").End(xlToRight)).Select

27. Otra forma de hacer la selección anterior

Range("A5:" & Range("A5").End(xlToRight).Address).Select

28. Cómo seleccionar desde la celda H10 hasta la última celda con datos hacia la izquierda (igual que pulsar Ctrl+Mayús+Flecha izquierda)

Range("H10", Range("H10").End(xlToLeft)).Select

29. Otra forma de hacer la selección anterior

Range("H10:" & Range("H10").End(xlToLeft).Address).Select

30. Seleccionar desde la celda H10 hasta la última celda con datos hacia arriba (igual que pulsar Ctrl+Mayús+Flecha arriba)

Range("H10", Range("H1048576").End(xlUp)).Select

31. Otra forma de hacer la selección anterior

Range("H10:" & Range("H1048576").End(xlUp).Address).Select

32. Cómo seleccionar con variables y Cells un rango hacia la derecha

Sheets("Previsiones").Range((Cells(Resultado, 1)), Range((Cells(Resultado, 1)), Cells(Resultado, 1)).End(xlToRight)).Select

33. Cómo seleccionar  la última celda con datos

ActiveSheet.Range("B1").End(xlDown).Offset(1, 0).Select

34. Cómo seleccionar la última columna con datos

ActiveSheet.Range("B1").End(xlDown).Offset(0, 1).Select

35. Cómo hacer referencia a la dirección de la última celda con datos hacia abajo

Direcc = Selection.Cells(1, 1).Address

36. Cómo hacer referencia al número de la última fila con datos

UltimaFila = Range("A1").End(xlDown).Row

37. Cómo hacer referencia al número de la última columna con datos

UltimaColumna = Range("A1").End(xl ToRight).Column

38. Cómo seleccionar y combiar combinar las celdas seleccionadas

Range("B1:E1").Select
Selection.Merge

39. Cómo seleccionar y descombinar las celdas seleccionadas

Range("B1:E1").Select
Selection.UnMerge

40. Cómo seleccionar el rango complete donde se encuentra la celda activa

ActiveCell.CurrentRegion.Select

41. Cómo seleccionar la última celda con datos sin importar si hay celdas vacías en medio

ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select

 

 

En la mayoría de las ocasiones, elegir una forma u otra de seleccionar celdas con VBA va a depender exclusivamente de tus gustos personales. Otras veces el contexto de la programación te irá diciendo cuál debes utilizar.

Por favor, comparte el artículo si te ha gustado.