De maneira didática, daria pra fazer uma analogia entre matrizes e pastas de trabalho Excel.
Uma matriz Unidimensional, seria o equivalente a uma única coluna de uma planilha, como se as outras colunas não existissem. Assim, cada elemento da matriz corresponderia a cada célula dessa coluna de células. Assim, o elemento MinhaMat(3) seria a 3ª célula dessa coluna.
Já uma matriz bidimensional, corresponderia a uma planilha inteira. Para conseguir se referir de forma única a um certo elemento dessa matriz, é preciso dar 2 endereços: o da primeira dimensão (linha) e o da segunda dimensão (coluna). Então, o elemento MinhaMat(3,2) seria a célula no encontro da 3ª linha com a 2ª coluna, portanto B3.
Por sua vez, uma matriz de 3 dimensões, seria comparado ao .xlsx inteiro. O elemento MinhaMat(2,1,4) seria o equivalente à célula D1 da Plan2 desse Workbook.
Poderíamos imaginar então uma matriz de 4 dimensões como sendo uma pasta do Windows com vários .xlsx: Localizaríamos precisamente o elemento MinhaMat(4,2,5,6) como correlacionado à célula F5 da Plan2 da Pasta4.xlsx.
Expandindo essa série para 5, 6, 7... dimensões e seguindo o mesmo raciocínio, seria correto equiparar com várias subpastas dentro de outras pastas dentro de outros HD's dentro de vários PC's dentro de várias redes... ad infinitum.
Grosso modo seria uma estrutura hierárquica em que cada nível de hierarquia é uma dimensão e vc consegue acessar um elemento individual fornecendo o valor de cada dimensão.
Em termos práticos e por limitações (uso exponencial de memória a cada nova dimensão, facilidades com uso de outros recursos, etc.) raramente se usam matrizes de 3 ou mais dimensões embora o VBA aceite até 60 dimensões.
Postado : 19/07/2018 10:16 am