Usuário com melhor resposta
Obter uma matriz de um range

Pergunta
-
Boa noite a todos,
Preciso obter uma matriz que retorne todos os endereços de um range. No caso, tentei isso e funcionou, mas quando fui "dinamizar" houve um erro de incompatibilidade:
Sub Teste()
Set cs = Selection.CurrentRegion
For i = LBound(cs) to UBound(cs)
msgbox cs(i).Address
Next i
End Sub
As funções LBound e UBound não identificam o objeto 'Selection.CurrentRegion' como uma matriz e sim como um range... Como eu faço para obter tudo naquele intervalo como uma matriz? Preciso trabalhar com os ranges individualmente...
Obrigado desde já.
Respostas
-
Sub fnc() Dim var As Variant Dim lngCol As Long Dim lngRow As Long var = Selection.CurrentRegion For lngRow = LBound(var, 1) To UBound(var, 1) For lngCol = LBound(var, 2) To UBound(var, 2) Debug.Print var(lngRow, lngCol) Next lngCol Next lngRow End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator terça-feira, 31 de dezembro de 2013 22:43
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator terça-feira, 31 de dezembro de 2013 22:43
Todas as Respostas
-
Sub fnc() Dim var As Variant Dim lngCol As Long Dim lngRow As Long var = Selection.CurrentRegion For lngRow = LBound(var, 1) To UBound(var, 1) For lngCol = LBound(var, 2) To UBound(var, 2) Debug.Print var(lngRow, lngCol) Next lngCol Next lngRow End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator terça-feira, 31 de dezembro de 2013 22:43
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator terça-feira, 31 de dezembro de 2013 22:43
-
-
Veja um exemplo: https://skydrive.live.com/redir?resid=FB206A2D510E0661!8549&authkey=!AIl4X3SGfa881Y0
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
-
-