none
COPIAR LINHAS DE DUAS PLANILHAS SE NÚMEROS FOREM IGUAIS RRS feed

  • Pergunta

  • Pessoal,

    Quero fazer:

    Na aba primaria tem o seguinte: 

    Coluna A = Número de 1 a 10

    Coluna B = Produto

    Coluna C = Valor

    Aba secundaria:

    Coluna A = Número de 1 a 10

    Coluna B = Valor

    Coluna C = Empresa fabricante

    O que preciso fazer

    Preciso que confira os números da planilha primaria com a coluna secundaria, se for igual, copiar para uma aba tercearia.

    Obs: Os números da aba secundaria, pode ter repetidos (mais de um), mas na aba primaria não pode ter repetido.

    Quando forem transferir os valores para a planilha 3 (tercearia):

    Coluna A = Coluna A da aba primaria

    Coluna B = Coluna B da aba primaria

    Coluna C = Coluna C da aba primaria

    Coluna D = Coluna A da aba secundaria

    Coluna E = Coluna B da aba secundaria

    Coluna F = Coluna C da aba secundaria

    Obs: Os valores da coluna A, B e C só podem ser inserida uma vez (exemplo: na linha 1) e os valores da coluna D, E e F podem ser inseridos mais de uma vez, se tiver mais de um número quando verificado. (exemplo: linha 1, 2, 3 e 4.) A linha 5 seria o proximo número encontrado.

    Se conseguirem me ajudar agradeço.

    Não sei se ficou claro, qualquer duvida luandarosa.dedi@gmail.com

    segunda-feira, 6 de julho de 2020 13:04

Todas as Respostas

  • criei um formulario e nele:

    Private Sub CommandButton2_Click() 'Inciar
    Dim L As Long 'linha rnc
    Dim C As Integer 'coluna do rnc
    Dim LF As Long  'linha final rnc
    Dim NC As String
    Dim LC As Long 'linha custo
    Dim CC As Integer 'coluna do custo
    Dim LFC As Long 'Linha final custo
    Dim LP As Long 'linha de preenchimento do resultado
    Dim Dados(34) As Variant
    Dim NE As Boolean 'NC encontrado
        On Error GoTo fim
       Planilha11.Activate
        If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilter.Sort.SortFields.Clear
        LF = Application.WorksheetFunction.CountIf(Planilha11.Columns("A"), "<>")
        Planilha1.Range(Cells(2, 1), Cells(LF, 15)).Select
        Selection.ClearContents
        Cells(2, 1).Select
        LF = Application.WorksheetFunction.CountIf(Planilha10.Columns("B"), "<>")
        LFC = Application.WorksheetFunction.CountIf(Planilha9.Columns("E"), "<>")
        LP = 2
        Me.ProgressBar1.Min = 2
        Me.ProgressBar1.Max = LF + 1
        For L = 2 To LF
            NC = Planilha10.Cells(L, 2).Value
            NE = False
            For LC = 2 To LFC
                If NC = Planilha9.Cells(LC, 1).Value Then
                    NE = True
                    For C = 1 To 22
                        Dados(C) = Planilha10.Cells(L, C).Value
                    Next C
                    For C = 1 To 12
                        Dados(C + 22) = Planilha9.Cells(LC, C).Value
                    Next C
                    For C = 1 To 34
                        Planilha11.Cells(LP, C) = Dados(C)
                        Dados(C) = ""
                    Next C
                    LP = LP + 1
                End If
            Next LC
            If NE = False Then
                For C = 1 To 22
                    Dados(C) = Planilha10.Cells(L, C).Value
                Next C
                For C = 1 To 34
                    Planilha11.Cells(LP, C) = Dados(C)
                    Dados(C) = ""
                Next C
                LP = LP + 1
            End If
            Me.ProgressBar1.Value = L
        Next L
    Exit Sub
    fim:
        MsgBox Err.Description, vbCritical, "Executar"

    End Sub
    Private Sub CommandButton1_Click() 'fechar
    Unload Atualizacao1

    End Sub

           
    quarta-feira, 5 de janeiro de 2022 16:31