Página 1 de 1

Variante de Intervalo de Células (Range)

Enviado: 22 Nov 2015 às 09:49
por Parkeless
Olá pessoal!

Gostaria de saber se há uma forma de determinar um "pedaço" de uma variante de intervalo, digo, retornar uma parte do range.

Por exemplo:, se eu tenho:

Dim Área as Range
Set Área = Sheets("Plan1").Range("A1:E11")


Posso obter o endereço completo pela propriedade Área.address (que nesse caso retornaria $A$1:$E$11)

Mas se minha área for dinâmica, e eu quiser, por exemplo, retornar o range apenas da terceira coluna ($C$1:$C$11), ou da quinta linha ($A$5:$E$5)... ou, mais complicado, a segunda coluna a partir da segunda linha ($B$2:$B$11), como faria? :?

Desde já, muito obrigado.

Variante de Intervalo de Células (Range)

Enviado: 22 Nov 2015 às 11:55
por Reinaldo
Não sei se entendi, mas experimente, veja se lhe auxilia
Código: Selecionar todos
Sub parterange()
Dim Area As Range
Set Area = Sheets("Plan1").Range("D2:G12")
MsgBox Area.Cells.Address
For x = 1 To Area.Columns.Count
    For y = 1 To Area.Rows.Count
        MsgBox Area.Cells(y, x).Address
    Next
Next
End Sub

Variante de Intervalo de Células (Range)

Enviado: 22 Nov 2015 às 12:18
por Parkeless
Reinaldo,
A lógica era essa mesma, consegui que me retornasse alterando um pouquinho o código:

Retornar a terceira coluna do range:
MsgBox Area.Cells(1, 3).EntireColumn.Address
Retornar a terceira linha do range:
MsgBox Area.Cells(3, 1).EntireRow.Address

São linhas e colunas inteiras, mas a partir daí, acho que já consigo me virar.

Muito obrigado (: