Notifications
Clear all

Intervalo até a ultima linha

8 Posts
4 Usuários
0 Reactions
1,826 Visualizações
(@efs2016)
Posts: 0
New Member
Topic starter
 

Eu preciso incrementar numa planilha que já possuo um código que verifica a ultima linha e concatene com a primeira, gerando um intervalo. Este intervalo é uma variável na minha planilha.
Por exemplo: Hoje com 100 registro o intervalo seria "A1:A100". Amanhã com mais 10 registro, seria "A1:ultimalinha", ou seja, "A1:A100".
Ultima linha seria uma variável. Até aí tudo bem. Mas não estou conseguindo concatenar.
Alguém pode me dizer o porquê deste erro?

Segue a planilha exemplo.

 
Postado : 24/12/2016 9:11 pm
(@mprudencio)
Posts: 0
New Member
 

Partindo do princípio que vc sabe definir a última linha isso resolve.

Range ("A1:A & ultimalinha)

 
Postado : 24/12/2016 10:25 pm
(@edcronos2)
Posts: 0
New Member
 
Sub teste()
     Dim linha As Long
     Dim intervalo As String
     Nome_Aba = "Plan1"

       linha = Sheets(Nome_Aba).Cells(Rows.Count, "A").End(xlUp).Row

     intervalo = "A1:A" & linha

     Set inter = Sheets(Nome_Aba).Range(intervalo)
    inter.Select

'''ou
  Sheets(Nome_Aba).Range(intervalo).Select     

    
End Sub
 
Postado : 24/12/2016 10:31 pm
(@djunqueira)
Posts: 0
New Member
 

Se vc disponibilizar seu arquivo com zip (nativo no Windows) vc amplia o número de pessoas q podem te ajudar.

A melhor forma de fazer referência a uma coluna é criar uma tabela nomeada como no exemplo da planilha anexa.

Ou usar uma das fórmulas:

INDIRETO("A1:A"&CONT.VALORES(A:A))
DESLOC($A$1;0;;CONT.VALORES(A:A))

 
Postado : 24/12/2016 10:39 pm
(@efs2016)
Posts: 0
New Member
Topic starter
 

Segue em Zip

 
Postado : 25/12/2016 3:11 pm
(@djunqueira)
Posts: 0
New Member
 

Veja como seu código pode ficar sucinto (1 linha).

 
Postado : 25/12/2016 4:58 pm
(@efs2016)
Posts: 0
New Member
Topic starter
 

Partindo do princípio que vc sabe definir a última linha isso resolve.

Range ("A1:A & ultimalinha)

Infelizmente, continua dando o mesmo erro.
Segue meu código:

Sub teste()
Dim w As Worksheet
Set w = Sheets("Plan1")
Dim linha As Range
Dim intervalo As Range
w.Select
w.Range("A1").Select
Set linha = Sheets("Plan1").Range("A1048576").End(xlUp).Offset(1, 0)
linha.Select
Set intervalo = w.Range("A1:A&linha")
intervalo.Select
End Sub

 
Postado : 25/12/2016 6:31 pm
(@efs2016)
Posts: 0
New Member
Topic starter
 

Depois de muito teste, eu consegui com o código abaixo:

Public W As Worksheet
Sub teste()

Set W = Sheets("Plan1")
W.Range("A1").Select
Dim intervalo As Range
Dim linha As Range

Set linha = W.Range("I1048576").End(xlUp)

Set intervalo = W.Range("A1", linha)
intervalo.Select

End Sub
 
Postado : 08/01/2017 8:33 pm