Copiando informação...
 
Notifications
Clear all

Copiando informação determinando o critério de busca.

11 Posts
2 Usuários
0 Reactions
2,029 Visualizações
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Olá prezados colegas.
Pesquisei no fórum mas não achei nada a respeito.
Meu problema e o seguinte necessito copiar para outra planilha nomeada como "código entrada" determinadas informações que consta na planilha relatorio 2013 (em anexo).
Queria fazer via macro todo este processo com os critério de busca abaixo:

1 - Data
A partir de 01 janeiro de 2012 até a data presente (Data que for executado a busca).

2 - Todas linhas com a informação " Verificado "

3 - Todas linhas com a informação " Fabio San "

4 - Todas linhas com a informação " Wagner Lop "

Lembrando que é preciso copiar toda a linha para a planilha "código entrada" na celula A2:K2, A3:K3 e assim sucessivamente.

Agradeço desde já a ajuda e compreensão de todos.

Abraços.

 
Postado : 29/08/2013 7:15 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Olà a todos!

Tentei alguns códigos que achei pesquisando na internet mas não consegui adaptar a minha rotina.

Será que alguém pode me auxiliar.

Desde de já agradeço.

Abraços.

 
Postado : 03/09/2013 7:58 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Em nossa tem algo para que você possa adaptar.
O código abaixo é de autoria do mestre JValq, tente adaptar

Copiar com criterios
 Sub Copiar()
        Dim kf As Long, ks As Long, kp As Long
        Dim i As Long, Qtde As Long
       
        Sheets("Macro").Select
        Qtde = [A2].CurrentRegion.Rows.Count
        kf = 2
        ks = 2
        kp = 4
        For i = 2 To Qtde
        If Sheets("Macro").Cells(i, "D").Value <> "" _
            And (Sheets("Macro").Cells(i, "C").Value = 102 _
            Or Sheets("Macro").Cells(i, "C").Value = 104 _
            Or Sheets("macro").Cells(i, "C").Value = 107) Then
                Range(Cells(i, "A"), Cells(i, "N")).Copy Sheets("Separação").Cells(ks, 1)
                ks = ks + 1
            End If
           
        
        
            If Sheets("Macro").Cells(i, "D").Value <> "" _
            And (Sheets("Macro").Cells(i, "C").Value = 103 _
            Or Sheets("Macro").Cells(i, "C").Value = 108) Then
                Range(Cells(i, "A"), Cells(i, "N")).Copy Sheets("fracionados").Cells(kf, 1)
                kf = kf + 1
            End If
           
            
            If Sheets("Macro").Cells(i, "D").Value = "" Then
                Range(Cells(i, "A"), Cells(i, "N")).Copy Sheets("vazio").Cells(kp, 1)
                kp = kp + 1
            End If
        Next
        MsgBox "Fim de execução da Macro"
    End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/09/2013 8:44 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Aproveitando as instruções do link abaixo fiz uma adaptação, veja se atende :

Excel Advanced Filter Introduction
http://www.contextures.com/xladvfilter01.html

Filtro Avançado Varios Criterios : Datas e Outros

Aproveite e tire um tempinho para navegar no site acima, tem varias dicas e tipos de filtragem, é só fazer as adaptações.

qualquer duvida retorne.

Editei só para por uma OBS que acho IMPORTANTÍSSIMA:
A rotina deste anexo foi criada utilizando-se o Gravador de Macros.
Se todos utilizassem este recurso, iriam ver o quão é tão simples a criação da maioria das Macros.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/09/2013 7:01 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa noite alexandrevba.

Muito obrigado pela ajuda.

Eu fuz algumas adaptações para funcionar na minha planilha e conseguir fazer copiar na outra planilha porém não é o resultado que necessitava obter.
Acho que o problema é que não entendi perfeitamente como essa rotina que você ensinou funciona.
Sem querer abusar de sua boa vontade mas se possível poderia explicar como funciona.

Desde já agradeço sua ajuda.

Abraços.

 
Postado : 03/09/2013 7:20 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Vai ser copiado tudo que estiver na guia "Macro" caso as condições estejam nas condições

Sheets("Macro").Cells(i, "D").Value <> "" _

'<-Copia da guia Macro, na coluna D caso esteja diferente de Vazio.
Caso seja satisfeita esses critérios então

Range(Cells(i, "A"), Cells(i, "N")).Copy Sheets("Separação").Cells(ks, 1)

Será copiado a coluna A até a coluna N para outra guia "Separação"

O restante repete com poucas diferenças.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/09/2013 5:14 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom Dia Mauro

Muito obrigado pelo ajuda.
O arquivo que você criou esta usando filtro avançado nao é?
Achei legal sua sugestão, pois é possível efetuar busca com outro tipo de criterios.

Vou tentar adaptar a minha planilha pois baixei a que voce postou porém a macro nao copia para a aba filtrados.

Obrigado

Abraços.

 
Postado : 04/09/2013 8:12 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom dia alexandrevba

Muito obrigado pelos esclarecimentos.
Vou tentar fazer agora tomara que de certo.

Abraços.

Bom dia!!

Vai ser copiado tudo que estiver na guia "Macro" caso as condições estejam nas condições

Sheets("Macro").Cells(i, "D").Value <> "" _

'<-Copia da guia Macro, na coluna D caso esteja diferente de Vazio.
Caso seja satisfeita esses critérios então

Range(Cells(i, "A"), Cells(i, "N")).Copy Sheets("Separação").Cells(ks, 1)

Será copiado a coluna A até a coluna N para outra guia "Separação"

O restante repete com poucas diferenças.

Att

 
Postado : 04/09/2013 8:17 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom Dia Mauro
Muito obrigado pelo ajuda.
O arquivo que você criou esta usando filtro avançado nao é?
Achei legal sua sugestão, pois é possível efetuar busca com outro tipo de criterios.

Vou tentar adaptar a minha planilha pois baixei a que voce postou porém a macro nao copia para a aba filtrados.
Obrigado
Abraços.

Fabio, foi utilizado Filtro Avançado sim, e o Modelo que anexei funciona perfeitamente de acordo com os criterios que estão no mesmo, depois de definido é filtrado diretamente para a a aba Filtrados, diferentemente do exemplo que você havia postyado que realiza a filtragem em outra região da mesma aba e depois é enviado para impressão.

Poderia detalhar melhor o que não está sendo copiado para outra aba ?

O exemplo que se encontra no site que indiquei, da Contexture, não contem macros, é somente exemplo e dicas dos diversos tipos de filtragem manualmente, mas é só ligar o Gravador de Macros, realizar o que pretende e terá a macro gravada, depois é só acertar algumas variaveis.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/09/2013 10:25 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Olá alexandrevba.

Sem querer abusar mas se possivel gostaria de saber que significa os valores abaixo.

kf = 2
ks = 2
kp = 4
For i = 2 To Qtde

.Value = 102 _
.Value = 104 _
.Value = 107)

Muito obrigado!

Abraços

Bom dia!!

Em nossa tem algo para que você possa adaptar.
O código abaixo é de autoria do mestre JValq, tente adaptar

Copiar com criterios
 Sub Copiar()
        Dim kf As Long, ks As Long, kp As Long
        Dim i As Long, Qtde As Long
       
        Sheets("Macro").Select
        Qtde = [A2].CurrentRegion.Rows.Count
        kf = 2
        ks = 2
        kp = 4
        For i = 2 To Qtde
        If Sheets("Macro").Cells(i, "D").Value <> "" _
            And (Sheets("Macro").Cells(i, "C").Value = 102 _
            Or Sheets("Macro").Cells(i, "C").Value = 104 _
            Or Sheets("macro").Cells(i, "C").Value = 107) Then
                Range(Cells(i, "A"), Cells(i, "N")).Copy Sheets("Separação").Cells(ks, 1)
                ks = ks + 1
            End If
           
        
        
            If Sheets("Macro").Cells(i, "D").Value <> "" _
            And (Sheets("Macro").Cells(i, "C").Value = 103 _
            Or Sheets("Macro").Cells(i, "C").Value = 108) Then
                Range(Cells(i, "A"), Cells(i, "N")).Copy Sheets("fracionados").Cells(kf, 1)
                kf = kf + 1
            End If
           
            
            If Sheets("Macro").Cells(i, "D").Value = "" Then
                Range(Cells(i, "A"), Cells(i, "N")).Copy Sheets("vazio").Cells(kp, 1)
                kp = kp + 1
            End If
        Next
        MsgBox "Fim de execução da Macro"
    End Sub
 
Postado : 04/09/2013 5:16 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom noite Mauro

Esta funcionando!
Acho que era o formato da data em minha planilha.
Vou testar com outros criterios qualquer coisa lhe aviso.
Muito obrigado pela colaboração

Abraços.

Bom Dia Mauro
Muito obrigado pelo ajuda.
O arquivo que você criou esta usando filtro avançado nao é?
Achei legal sua sugestão, pois é possível efetuar busca com outro tipo de criterios.

Vou tentar adaptar a minha planilha pois baixei a que voce postou porém a macro nao copia para a aba filtrados.
Obrigado
Abraços.

Fabio, foi utilizado Filtro Avançado sim, e o Modelo que anexei funciona perfeitamente de acordo com os criterios que estão no mesmo, depois de definido é filtrado diretamente para a a aba Filtrados, diferentemente do exemplo que você havia postyado que realiza a filtragem em outra região da mesma aba e depois é enviado para impressão.

Poderia detalhar melhor o que não está sendo copiado para outra aba ?

O exemplo que se encontra no site que indiquei, da Contexture, não contem macros, é somente exemplo e dicas dos diversos tipos de filtragem manualmente, mas é só ligar o Gravador de Macros, realizar o que pretende e terá a macro gravada, depois é só acertar algumas variaveis.

[]s

 
Postado : 04/09/2013 5:59 pm