Ir para conteúdo
Fórum Script Brasil
  • 0

Copiar dado de acordo com 1 criterio


MinerO

Pergunta

Ola

tenho uma planilha (Geral) eu classifico em determinada coluna (J) como :Arg , Ven

Fora a geral tenho mais 2 planilhas que são Argentina e Venezuela.

Queria fazer uma macro que quando eu por Arg na colluna (J) ele já manda a linha pra planilha Argentina.

Desde já agradeço;

Vlw

Editado por MinerO
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Nossa cara serviu direitinho..Isso mesmo que eu queria.,,

muito obrigado..

Porem tem um problema...se você apaga um dado da planilha geral e modifica, ele não subistitui na planilha correspondente.

Tem como sempre que rodar a macro ele limpa as planilhas e sempre distribuir de novo?

Explicando: Na hora que aperta o botao da macro ele limpa a planilha Argentina e Venezuela e distribui toda a geral de novo desde a primeira linha..

Editado por MinerO
Link para o comentário
Compartilhar em outros sites

  • 0

Caro MinerO,

Vá ao ao botão "Accionar", e com o botão direito do rato abra a opção Macro, faça o seu Edit (desculpe os termos irem em inglês pois não faço ideia de como são em português - Editar?) e quando abrir a janela do Visual Basic substitua o seu conteúdo - todo ele!!! - pelo seguinte programa:

Sub ProcTransf()
'Macro para apagar os dados nas outras sheets
'e depois copiar da Geral para as outras
'e ordenar os dados copiados
Dim sht As Worksheet
Dim Cll As Range
Dim LProc As Integer
Dim LCop As Integer
    On Error GoTo Err_Execute
    For Each sht In Worksheets
        sht.Activate
        If ActiveSheet.Name <> "Geral" Then
        With ActiveSheet
            Range("A2:J65536").Delete Shift:=xlToLeft
            Range("A1").Select
        End With
        End If
    Next sht
    Worksheets("Geral").Activate
LProc = 2
LCop = 2
    While Len(Range("A" & CStr(LProc)).Value) > 0
    If Range("J" & CStr(LProc)).Value = "Arg" Then
        Rows(CStr(LProc) & ":" & CStr(LProc)).Copy _
          Destination:=Worksheets("Argentina").Rows(CStr(LCop) & ":" & CStr(LCop))
            LCop = LCop + 1
            Sheets("Geral").Select
    ElseIf Range("J" & CStr(LProc)).Value = "Ven" Then
        Rows(CStr(LProc) & ":" & CStr(LProc)).Copy _
          Destination:=Worksheets("Venezuela").Rows(CStr(LCop) & ":" & CStr(LCop))
            LCop = LCop + 1
            Sheets("Geral").Select
        End If
        LProc = LProc + 1
    Wend
    Application.CutCopyMode = False
    For Each sht In Worksheets
        sht.Activate
        If ActiveSheet.Name <> "Geral" Then
        With ActiveSheet
            Columns("A:J").Select
            Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
            Range("A1").Select
        End With
        End If
    Next sht
    Worksheets("Geral").Activate
    Range("A1").Select
        MsgBox "FEITO!"
    Exit Sub
Err_Execute:
        MsgBox "Ocorreu um erro. Provavelmente não existe a planilha destino"
End Sub

Se tiver dificuldades ou mais sugestões, diga

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...