Notifications
Clear all

Macro copiar com critérios

5 Posts
3 Usuários
0 Reactions
985 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal boa tarde,

Estou com dificuldades em uma macro. Já procurei pelo forum alguns exemplos semelhantes mais não consegui resolver.
Tenho uma planilha com duas abas "pendências" e "imprimir"
na aba "pendencias" tem os meus dados e nesta também esta a condição na coluna B que é o valor "P".

Ou seja, caso a linha na coluna B tenha o valor "P" copiar essa linha da coluna A até G para
a aba imprimir a partir da linha 6 coluna A.

Seria importante que a linha seja colada na aba "imprimir" com a mesma formatação da aba "pendencias"
e também que a macro verifique se a linha esta vazia mesmo para colar além dessa macro
ser inicializada toda vez que se mudar valores nesta coluna B.

Obrigado

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

 
Postado : 28/01/2014 8:10 am
(@bilokas)
Posts: 168
Estimable Member
 

na aba "pendencias" tem os meus dados e nesta também esta a condição na coluna B que é o valor "P".

Ou seja, caso a linha na coluna B tenha o valor "P" copiar essa linha da coluna A até G para
a aba imprimir a partir da linha 6 coluna A.

Nossa meu cérebro deu nó. Heheheh, tem como explicar melhor.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 28/01/2014 8:35 am
(@gtsalikis)
Posts: 2373
Noble Member
 

deve ser algo assim:

Sub Imprimir_GT()

'Etapa 1 - definir quais informações serão copiadas segundo as prioridades escolhidas
    
    Dim Verifica_1 As Integer
        Verifica_1 = MsgBox("Para imprimir, você não deve deixar linhas filtradas, ou pode incorrer em erro. Você lembrou de retirar o filtro?", vbYesNo, "Atenção")
            'If_1
            If Verifica_1 = vbYes Then
    
    Dim Verifica_2 As Integer
        Verifica_2 = MsgBox("Você lembrou de marcar acima quais linhas serão impressas?", vbYesNo, "Atenção")
            'If_2
            If Verifica_2 = vbYes Then
            
'Etapa 2 - copiar as informações para a planilha IMPRIMIR
     
Application.ScreenUpdating = False

    Sheets("imprimir").Select
        Range("A6:G1048576").Clear

    Sheets("pendências").Select
    i = 6
    Do While Not IsEmpty(Cells(i, "A"))
        If Cells(i, "B").Value = "P" Then
            Sheets("pendências").Range(Cells(i, "A"), Cells(i, "G")).Copy Sheets("imprimir").Range(Cells(j, "A"), Cells(j, "G"))
            j = j + 1
        End If
        i = i + 1
    Loop

Application.ScreenUpdating = True

End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 28/01/2014 10:42 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Obrigado Gtsalikis!

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

 
Postado : 28/01/2014 6:20 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

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

 
Postado : 28/01/2014 6:39 pm