none
MATRIZ para copiar 5 colunas RRS feed

  • Pergunta

  • Ainda estou aprendendo...

    Com a matriz abaixo eu copio os dados de 3 colunas da planilha INTERDATA e colo na planilha ACUMULA. Porém, agora estou tentando copiar 5 colunas da planilha INTERDATA, porém quando adiciono uma coluna a mais esta dando erro. Alguém poderia me orientar como deve ser feito?

    SUB COPIAR()
    
    Dim VetCopia()
    Dim i As Long, j As Long, k As Long, Qtde As Long
    Dim Achou As Boolean
    
    Sheets("InterDta").Select
    Qtde = Range("b2").CurrentRegion.Rows.Count
    ReDim VetCopia(2, 1)
    VetCopia(0, 1) = Cells(2, 1).Value
    VetCopia(1, 1) = Cells(2, 2).Value
    VetCopia(2, 1) = Cells(2, 3).Value
    
    'VetCopia(3, 1) = Cells(2, 4).Value
    
    For i = 2 To Qtde
        Achou = False
        For j = 1 To UBound(VetCopia, 2)
            If Cells(i, 2).Value = VetCopia(1, j) Then
                Achou = True
                Exit For
            End If
        Next
        If Achou = False Then
            ReDim Preserve VetCopia(2, UBound(VetCopia, 2) + 1)
            VetCopia(0, UBound(VetCopia, 2)) = Cells(i, 1).Value
            VetCopia(1, UBound(VetCopia, 2)) = Cells(i, 2).Value
            VetCopia(2, UBound(VetCopia, 2)) = Cells(i, 3).Value
        End If
    Next
    
    Sheets("ACUMULA").Select
    For k = 1 To UBound(VetCopia, 2)
    
        Cells(k + 1, 1).Value = VetCopia(0, k)
        Cells(k + 1, 2).Value = VetCopia(1, k)
        Cells(k + 1, 3).Value = VetCopia(2, k)
    
    Next
    
    End Sub

        


    quinta-feira, 18 de janeiro de 2018 02:03

Todas as Respostas

  • ReDim VetCopia(4, 1)
    


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 quinta-feira, 18 de janeiro de 2018 23:34
    quinta-feira, 18 de janeiro de 2018 23:34
  • Ola Anderson,

    Agradeço por sua resposta. Eu imaginei que era assim também, mas se eu faço essa alteração dá erro em tempo de execução na linha abaixo:

    ReDim Preserve VetCopia(2, UBound(VetCopia, 2) + 1)


    marcinha

    sexta-feira, 19 de janeiro de 2018 02:12
  • Tente mudar de 2 para 4.

    Mude só um 2 e deixe o outro.

    Se não der, volte o que mudou para 2 e mude o outro.

    Ou então mude os dois para 4.



    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    sábado, 20 de janeiro de 2018 10:23
  • Tente o fórum "Planilhando". Lá é possível anexar arquivo e também há mais pessoas para responder.

    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    sábado, 20 de janeiro de 2018 10:23