Cómo utilizar el comando de rango para seleccionar un rango

Cómo utilizar el comando de rango para seleccionar un rango

Tengo un rango que necesito seleccionar. Las regiones superiores del rango son A2, que puedo obtener usando el siguiente comando:

Cells(2, 1)

El rango inferior, lo puedo conseguir usando los siguientes comandos:

Cells(Rows.Count, 1).End(xlUp).Row
Cells(5, Columns.Count).End(xlToLeft).Column

¿Cómo puedo combinar todos los comandos de mis celdas en algo que se seleccione ese rango?

Lo intenté

range=(cells(2,1)),(Cells(Rows.Count, 1).End(xlUp).Row),(Cells(5, Columns.Count).End(xlToLeft).Column).select 

pero me sale un error de formato.

Respuesta1

Recuerda Cells(Rows.Count, 1).End(xlUp).Rowque devuelve un número entero

y

Cells(5, Columns.Count).End(xlToLeft).Columndevuelve un número entero.

Así que tú necesitas Cells(integer,integer).

Tal como está el tuyo ahora, dice range(A2),integer,integer.select.

No usas selecty si vas a usar dos números enteros, debes envolverlos en celdas(). Y todo dentro del rango().

 Set rng = Range(Cells(2, 1), Cells((Cells(Rows.Count, 1).End(xlUp).Row), (Cells(5, Columns.Count).End(xlToLeft).Column)))

Una mejor manera de hacer esto sería

Sub test()
Dim rng As Range
Dim lastrow As Integer
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
Dim lastcol As Integer
lastcol = Cells(5, Columns.Count).End(xlToLeft).Column

 Set rng = Range(Cells(2, 1), Cells(lastrow, lastcol))

End Sub

Ahora, no tiene ningún motivo para selectsu rango, simplemente trabaje rngdirectamente.

información relacionada