Edcronos,
O método anterior deve ter falhado devido à falta de referência à planilha, que é feito pelo ponto.
Veja as diferenças:
Aqui, vai puxar os valores da planilha ativa:
With Sheets("plan1")
arr = Range(Cells(LI, CI), Cells(LF, CF)).Value2
End With
E aqui, vai puxar os valores da planilha que vc indicou no comando "with":
With Sheets("plan1")
arr = Range(.Cells(LI, CI), .Cells(LF, CF)).Value2
End With
Note que tem um "ponto" antes de cada referência "cells", que provém da quebra do comando:
sheets("plan1").cells(X, Y)
Em:
With sheets("plan1")
.cells(X, Y)
End with
Eu tinha tentado, no post anterior, referenciar direto pelo ".range", mas, sem a planilha, não testei, e acabou não dando certo.
Agora, em casa, criei uma planilha básica de testes, e, referenciando como fiz acima, deu certo.
Tente referenciar o início e o fim do range usando cells, algo +/- assim:
With Sheets(nP)
SetO3 = Range(.Cells(Li, Ti).End(xlDown), .Cells(Lf, Cf)).Value2
End With
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Postado : 16/06/2014 6:24 pm