Notifications
Clear all

Como fazer a cópia de uma MATRIZ para outra idêntica

2 Posts
1 Usuários
0 Reactions
428 Visualizações
Kaleo_rs
(@kaleo_rs)
Posts: 0
Trusted Member
Topic starter
 

Preciso criar uma rotina que transfira os dados de uma MATRIZ para outra idêntica.

Crio várias matrizes com a mesma estrutura sendo cada uma com nome diferente, e queria copiar uma determinada para uma com um nome padrão.

Conforme a situação é invocado a matriz correspondente, no fim a rotina ficou imensa para saber qual a matriz que se quer consultar. Copiando a matriz para a que tem um nome padrão a rotina fica mais enxuta.

exemplo

Dim MTZ_p (1 To 1000, 1 To 5) As String 

Dim MTZ_1 (1 To 1000, 1 To 5) As String 

Dim MTZ_2 (1 To 1000, 1 To 5) As String

Do Until Sheets("ABA1").Cells(xLin, 1).Value = ""

      MTZ_1(i,1) = Sheets("ABA1").Cells(Lin, 1).Value

...

Do Until Sheets("ABA2").Cells(xLin, 1).Value = ""

      MTZ_2(i,1) = Sheets("ABA2").Cells(Lin, 1).Value

...

IF SITUAÇÃO = 1 THEN

      MTZ_P = MTZ_1

ELSE

      MTZ_P = MTZ_2

END IF

FOR i = 1 TO 1000

   IF MTZ_P(i,1) = "XYZ" THEN

...

 

 
Postado : 07/06/2024 5:30 pm
Kaleo_rs
(@kaleo_rs)
Posts: 0
Trusted Member
Topic starter
 

É bem simples a resposta:

Dim MTZ_CARTAO_1(1 To 1000, 1 To 7) As String (É FEITO A DECLARAÇÃO DA MATRIZ E SUA ESTRUTURA)

Dim MTZ_CARTAO_2(1 To 1000, 1 To 10) As String (É FEITO A DECLARAÇÃO DA MATRIZ E SUA ESTRUTURA)

IF SITUAÇÃO = 1 TEHN

Dim MTZ_CARTAO As Variant: MTZ_CARTAO = MTZ_CARTAO_1

ELSE

Dim MTZ_CARTAO As Variant: MTZ_CARTAO = MTZ_CARTAO_2

END IF

MTZ_CARTAO TERA A MESMA ESTRURA.

 

 
Postado : 11/06/2024 4:55 pm