Página 1 de 1

Como atualizar os dados da variável tipo Range em um loop?

Enviado: 03 Fev 2023 às 16:32
por BrunoLuiel
O que estou tentando fazer é mais complexo, mas simplificando minha dúvida é:
quando executo este código, a variável "teste", que é do tipo range, mesmo com o loop alterando a váriavel "linha", a váriavel "teste" continua sendo a celula A1. O que devo fazer para que cada vez que a variável "linha" mudar seu valor, a variável "teste" também mude a célula?
Código: Selecionar todos
Sub teste()
    Dim teste As Range
    Dim linha As Integer
    
    linha = 1
    Set teste = Sheets(1).Range("A" & linha)
    
    Do Until linha = 5
        teste = "IMPRESSÃO" & linha
        linha = linha + 1
    Loop
End Sub

Re: Como atualizar os dados da variável tipo Range em um loop?

Enviado: 04 Fev 2023 às 09:40
por osvaldomp
BrunoLuiel escreveu: 03 Fev 2023 às 16:32 ... mesmo com o loop alterando a váriavel "linha", a váriavel "teste" continua sendo a celula A1.
Após atribuir A1 à variável "teste", essa referência permanecerá na memória como teste= A1, independente da alteração no valor de "linha".

O que devo fazer para que cada vez que a variável "linha" mudar seu valor, a variável "teste" também mude a célula?
Basta mudar a atribuição para o Loop, conforme abaixo.
Código: Selecionar todos
   Do Until linha = 5
     Set teste = Sheets(1).Range("A" & linha)
     teste = "IMPRESSÃO" & linha
     linha = linha + 1
    Loop