none
Obter uma matriz de um range RRS feed

  • 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á.

    segunda-feira, 16 de setembro de 2013 22:03

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

    segunda-feira, 16 de setembro de 2013 23:06
    Moderador

Todas as Respostas