Notifications
Clear all

Separar por valor

5 Posts
2 Usuários
0 Reactions
1,351 Visualizações
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Olá pessoal, tubo bem?
Podem me dar uma ajuda.

Tenho um codigo de uma macro que um dos usuarios daqui me ajudou, em que consiste em localizar um certo "texto" dentro de uma tabela e transferir toda a linha em que o texto foi localizado para uma outra aba.
Abaixo trancrevo o codigo:

Sub Gerar_Relatorios()

With Application
    .ScreenUpdating = False
    .EnableEvents = False
End With

Dim Rng As Range

Set Rng = Range([O4], Range("O" & Rows.Count).End(xlUp))

On Error Resume Next
    With Rng
        .AutoFilter , field:=1, Criteria1:="XX"
        .SpecialCells(xlCellTypeVisible).EntireRow.Copy Sheets("XX").Range("$A$5")
        .AutoFilter
    End With
On Error GoTo 0

Application.EnableEvents = True

End Sub

Agora, gostaria de saber se é possivel fazer a mesma coisa, entretanto buscando por valores que estao dentro de um limite, por exemplo.

Localizar valores que estao dentro de uma margem de R$ 0,00 até R$ 1.000.000,00 e -R$ 0,00 até -R$ 1.000.000,00 e transferir todo o conteudo da linha para outra aba.
Fazer o mesmo com valores de R$ 2.000.000,00 e -R$ 2.000.000,00 e transferir para outra aba e assim por diante.

Podem em ajudar?????

 
Postado : 17/10/2014 12:32 pm
cleiton jm
(@cleiton-jm)
Posts: 115
Estimable Member
 

Exemplo prático em anexo, só você fazer as adaptações....

 
Postado : 17/10/2014 7:50 pm
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Exemplo prático em anexo, só você fazer as adaptações....

Bom dia cleiton jm!
Obrigado pela ajuda, que por sinal é uma otima planilha!
Gostaria de uma ajuda.
Minha planilha original tem mais colunas (vai ate a coluna M) e a coluna de valor será a G, alem de possuir umas 200.000,00 linhas.
Onde eu posso alterar essas informaçoes no codigo??
Ja tentei, porem como nao tenho conhecimento eu nao consegui.
Segue meu exemplo em anexo.
Abraços,

 
Postado : 20/10/2014 7:13 am
cleiton jm
(@cleiton-jm)
Posts: 115
Estimable Member
 

Da uma olhada aii....

Private Sub CommandButton1_Click()
On Error Resume Next

Dim lastRow As Long
Dim i As Long
Dim crit As Integer
' ESSA LINHA DETERMINA ONDE COMEÇA SER JOGADOS OS RESULTADOS ENCONTRADOS
' OU SEJA DA PLANILHA RESULTADO LINHA 2
crit = 2

'ESSA LINHA LIMPA A PLANILHA (RESULTADO) - QUE CORRESPONDE A PLAN7
Plan7.Range("A2:M250000").ClearContents

'ESSA LINA VERIFICA ULTIMA LINHA PEENCHIDA COM VALORES
lastRow = Plan5.Cells(Plan5.Cells.Rows.Count, "A").End(xlUp).Row

For i = 2 To lastRow
' NUMERO 7 CORRESPONDE A COLUNA (G) ONDE É VERIFICADO O CRITÉRIO DETERMINADO NAS TEXTBOX
If Plan5.Cells(i, 7).Value >= CDbl(Me.TextBox1) And Plan5.Cells(i, 7).Value <= CDbl(Me.TextBox2) Then

Plan7.Cells(crit, 1).Value = Plan5.Cells(i, 1).Value 'Coluna A
Plan7.Cells(crit, 2).Value = Plan5.Cells(i, 2).Value 'Coluna B
Plan7.Cells(crit, 3).Value = Plan5.Cells(i, 3).Value 'Coluna C
Plan7.Cells(crit, 4).Value = Plan5.Cells(i, 4).Value 'Coluna D
Plan7.Cells(crit, 5).Value = Plan5.Cells(i, 5).Value 'Coluna E
Plan7.Cells(crit, 6).Value = Plan5.Cells(i, 6).Value 'Coluna F
Plan7.Cells(crit, 7).Value = Plan5.Cells(i, 7).Value 'Coluna G
Plan7.Cells(crit, 8).Value = Plan5.Cells(i, 8).Value 'Coluna H
Plan7.Cells(crit, 9).Value = Plan5.Cells(i, 9).Value 'Coluna I
Plan7.Cells(crit, 10).Value = Plan5.Cells(i, 10).Value 'Coluna J
Plan7.Cells(crit, 11).Value = Plan5.Cells(i, 11).Value 'Coluna K
Plan7.Cells(crit, 12).Value = Plan5.Cells(i, 12).Value 'Coluna L
Plan7.Cells(crit, 13).Value = Plan5.Cells(i, 13).Value 'Coluna M

crit = crit + 1
End If
Next
Plan7.Activate
End Sub

 
Postado : 20/10/2014 4:51 pm
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Da uma olhada aii....

Private Sub CommandButton1_Click()
On Error Resume Next

Dim lastRow As Long
Dim i As Long
Dim crit As Integer
' ESSA LINHA DETERMINA ONDE COMEÇA SER JOGADOS OS RESULTADOS ENCONTRADOS
' OU SEJA DA PLANILHA RESULTADO LINHA 2
crit = 2

'ESSA LINHA LIMPA A PLANILHA (RESULTADO) - QUE CORRESPONDE A PLAN7
Plan7.Range("A2:M250000").ClearContents

'ESSA LINA VERIFICA ULTIMA LINHA PEENCHIDA COM VALORES
lastRow = Plan5.Cells(Plan5.Cells.Rows.Count, "A").End(xlUp).Row

For i = 2 To lastRow
' NUMERO 7 CORRESPONDE A COLUNA (G) ONDE É VERIFICADO O CRITÉRIO DETERMINADO NAS TEXTBOX
If Plan5.Cells(i, 7).Value >= CDbl(Me.TextBox1) And Plan5.Cells(i, 7).Value <= CDbl(Me.TextBox2) Then

Plan7.Cells(crit, 1).Value = Plan5.Cells(i, 1).Value 'Coluna A
Plan7.Cells(crit, 2).Value = Plan5.Cells(i, 2).Value 'Coluna B
Plan7.Cells(crit, 3).Value = Plan5.Cells(i, 3).Value 'Coluna C
Plan7.Cells(crit, 4).Value = Plan5.Cells(i, 4).Value 'Coluna D
Plan7.Cells(crit, 5).Value = Plan5.Cells(i, 5).Value 'Coluna E
Plan7.Cells(crit, 6).Value = Plan5.Cells(i, 6).Value 'Coluna F
Plan7.Cells(crit, 7).Value = Plan5.Cells(i, 7).Value 'Coluna G
Plan7.Cells(crit, 8).Value = Plan5.Cells(i, 8).Value 'Coluna H
Plan7.Cells(crit, 9).Value = Plan5.Cells(i, 9).Value 'Coluna I
Plan7.Cells(crit, 10).Value = Plan5.Cells(i, 10).Value 'Coluna J
Plan7.Cells(crit, 11).Value = Plan5.Cells(i, 11).Value 'Coluna K
Plan7.Cells(crit, 12).Value = Plan5.Cells(i, 12).Value 'Coluna L
Plan7.Cells(crit, 13).Value = Plan5.Cells(i, 13).Value 'Coluna M

crit = crit + 1
End If
Next
Plan7.Activate
End Sub

Cleiton jm

Muito obrigado pela ajuda.
Resolveu meu problema.

Abraços,

 
Postado : 23/10/2014 8:34 am