Como usar o comando range para selecionar um intervalo

0

Eu tenho um intervalo que preciso selecionar. As regiões superiores do intervalo são A2 que eu posso usar o seguinte comando -

Cells(2, 1)

O intervalo mais baixo, eu posso usar os seguintes comandos -

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

Como posso combinar todo o comando my cells em algo que o intervalo irá selecionar?

Eu tentei

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

mas recebo um erro de formatação.

    
por DanM 03.12.2015 / 20:29

1 resposta

2

Lembre-se de que Cells(Rows.Count, 1).End(xlUp).Row retorna um inteiro

e

Cells(5, Columns.Count).End(xlToLeft).Column retorna um inteiro.

Então você precisa de Cells(integer,integer) .

Como o seu está agora, leia range(A2),integer,integer.select .

Você não usa select e, se for usar dois inteiros, precisará envolvê-lo em células (). E a coisa toda no intervalo ().

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

Uma maneira melhor de fazer isso seria

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

Agora, você não tem motivo para select do seu intervalo - basta trabalhar com rng diretamente.

    
por 03.12.2015 / 20:35