Página 1 de 1

Array por posição ( linha a linha )

Enviado: 18 Dez 2021 às 13:07
por felipe2269
bom dia a todos
fiz uma Array de 100 linhas e com 21 colunas, estou tentando fazer é colar linha por linha em outra aba,.
pq linha por linha ?
nessa outra aba preciso copiar outros dados antes de colar a segunda linha da array.

Dessa forma Planilha1.Range("E4:Y4") = exemplo01( ele copia para a primeira linha da Array para aba destino , se eu
fizer dessa outra forma, não funciona Planilha1.Range("E4:Y4") = exemplo01(1) ;
Planilha1.Range("E4:Y4") = exemplo01(2) ou
Planilha1.Range("E4:Y4") = exemplo01(3) . exemplos

tô querendo fazer um Loop linha a Linha puxando cada linha da Array ( essa parte do loop eu consigo fazer )

minha Array foi declarado do tipo long

Dim exemplo01() As Long

Re: Array por posição ( linha a linha )

Enviado: 18 Dez 2021 às 20:52
por felipe2269
continuação.....

com Array na memória no intervalo (1 to até 100 linhas e 1 até 21 colunas )
como declaro o FOR NEXT linha a linha e colando em outra planilha1 range ( "E4":"Y4")
depois de colar a primeira linha nessa ABA vou fazer uma copia de valores de outro range diferente e colocar tudo isso no loop

Re: Array por posição ( linha a linha )

Enviado: 19 Dez 2021 às 11:18
por osvaldomp
Experimente.
Código: Selecionar todos
Dim Arr(), k As Long
  Arr = Sheets("Planilha1").Range("A1:U100").Value
  Application.ScreenUpdating = False
  For k = 1 To 100
   Sheets("Planilha2").Cells(Rows.Count, "E").End(3)(2).Resize(, 21).Value  = Application.Index(Arr, k, 0)
   'coloque outras ações aqui
  Next k
#
Opção sem utilizar matriz, replica o intervalo diretamente
Código: Selecionar todos
 Dim k As Long
  Application.ScreenUpdating = False
   For k = 1 To 100
    Sheets("Planilha2").Cells(Rows.Count, "E").End(3)(2).Resize(, 21).Value = Sheets("Planilha1").Cells(k, 1).Resize(, 21).Value
    'coloque outras ações aqui
   Next k

Re: Array por posição ( linha a linha )

Enviado: 19 Dez 2021 às 11:32
por felipe2269
Osvaldo,
muitíssimo obrigado pelo retorno , funcionou perfeitamente , valeu mesmo