Por que eu não consigo definir esse intervalo?

1

Estou tentando definir um intervalo no VBA, mas, por algum motivo, meu método falha. No exemplo de código abaixo, as duas primeiras linhas funcionam, mas a última falha com a mensagem " Método 'Range' do objeto '_Worksheet' falhou ":

Set c = Parametre.Range("B2")
Set c = Parametre.Range("XFD2").End(xlToLeft)
Set c = Range(Parametre.Range("B2"), Parametre.Range("XFD2").End(xlToLeft))

Eu verifiquei que a planilha não está protegida, que o segundo argumento está à direita do primeiro (é L2), e estou no momento bastante perplexo a respeito de porque meu método falha. Qualquer entrada sobre o que pode ser o problema seria muito apreciada.

    
por eirikdaude 20.11.2015 / 10:23

1 resposta

2

Parece que você está perdendo o objeto Parametre, portanto, ele retornará ao padrão Worksheet e falhará por esse motivo. Tente usar o seguinte código:

Set c = Parametre.Range(Parametre.Range("B2"), Parametre.Range("XFD2").End(xlToLeft))

ou, como alternativa, se você quiser escrever um código mais limpo, use:

with Parametre
    Set c = .Range("B2")
    Set c = .Range("XFD2").End(xlToLeft)
    Set c = .Range(.Range("B2"), .Range("XFD2").End(xlToLeft))
end with
    
por 20.11.2015 / 10:57