Fiz uma macro que compara os valores da linha 2 e linha 3 da coluna C (pasta chamada Dados) se a diferença entres estes valores é menor ou iguais a 200 eu copio os dois valores e colo os valores para uma nova pasta "Dupla" e depois deleto as linhas 2 e 3. Se os valores são Maiores que 200 eu envio apenas o primeiro (linha 2) valor para uma pasta chamada "simples" e deleto apenas a linha 2.
Coloquei esse código todo num do while para ele percorrer toda uma tabela e a condição de parada que vi foi as C2 e C3 estarem vazias. Porem minha macro não funciona corretamente.
segue um exemplo de dados e o código
edição 1
Antes de fazer executar a macro eu faço a classificação da coluna C em ordem decrescente.
Sub classificar()
Do While (Range("C2").Value <> " " And Range("C3").Value <> " ")
Sheets("Dados").Select
If ActiveSheet.Cells(2, 3).Value - ActiveSheet.Cells(3, 3).Value < 200 Then
Sheets("Dados").Select
Range("A2:C3").Select
Selection.Copy
Sheets("duplas").Select
Range("A1048576").End(xlUp).Offset(2, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Dados").Select
Rows("2:3").Select
Range("A3").Activate
Selection.Delete Shift:=xlUp
Else
Sheets("Dados").Select
Range("A2:C2").Select
Selection.Copy
Sheets("simples").Select
Range("A1048576").End(xlUp).Offset(2, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Dados").Select
Rows("2:2").Select
Selection.Delete Shift:=xlUp
End If
Loop
End Sub
Pergunta
Adson Batista
Olá pessoal?
Fiz uma macro que compara os valores da linha 2 e linha 3 da coluna C (pasta chamada Dados) se a diferença entres estes valores é menor ou iguais a 200 eu copio os dois valores e colo os valores para uma nova pasta "Dupla" e depois deleto as linhas 2 e 3. Se os valores são Maiores que 200 eu envio apenas o primeiro (linha 2) valor para uma pasta chamada "simples" e deleto apenas a linha 2.
Coloquei esse código todo num do while para ele percorrer toda uma tabela e a condição de parada que vi foi as C2 e C3 estarem vazias. Porem minha macro não funciona corretamente.
segue um exemplo de dados e o código
edição 1
Antes de fazer executar a macro eu faço a classificação da coluna C em ordem decrescente.
Sub classificar() Do While (Range("C2").Value <> " " And Range("C3").Value <> " ") Sheets("Dados").Select If ActiveSheet.Cells(2, 3).Value - ActiveSheet.Cells(3, 3).Value < 200 Then Sheets("Dados").Select Range("A2:C3").Select Selection.Copy Sheets("duplas").Select Range("A1048576").End(xlUp).Offset(2, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Sheets("Dados").Select Rows("2:3").Select Range("A3").Activate Selection.Delete Shift:=xlUp Else Sheets("Dados").Select Range("A2:C2").Select Selection.Copy Sheets("simples").Select Range("A1048576").End(xlUp).Offset(2, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Sheets("Dados").Select Rows("2:2").Select Selection.Delete Shift:=xlUp End If Loop End Sub
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.