Notifications
Clear all

Como Criar Macro copiar/colar Ignorando células sem dados?

12 Posts
2 Usuários
0 Reactions
2,536 Visualizações
(@uepapedro)
Posts: 7
Active Member
Topic starter
 

Boa Tarde a todos, Sou novo por aqui e gostaria muito da ajuda de vocês aqui do fórum,
Trabalho no departamento pessoal de uma empresa, e preciso mensalmente enviar RELATÓRIO ao recursos humanos onde nele deverá constar diversos dados do servidor , criei uma tabela mestre onde adiciono ou altero os dados do servidor e criei outra tabela auxiliar onde lá os dados já aparecem filtrados, O QUE QUERO é uma macro que copie esses dados filtrados da tabela auxiliar para o RELATÓRIO que vou enviar para o recursos humanos. Até consegui fazer isso, porém dependendo do filtro o nome do servidor não constará na tabela auxiliar aí quando colo no RELATÓRIO ficam várias linhas em branco pois o filtro excluiu o nome do servidor daquela lista. Gostaria que quando eu executasse a macro copiar/colar no RELATÓRIO os dados fossem colados em sequencia sem as linhas em branco. Você tem como me ajudar?
Alguns filtros: Tudo depende dos dados lançados na mestra:
Se em vínculo tiver “temp” esse servidor só constará nas planilhas dos Temporários
Se em vínculo tiver “Efetivo” esse servidor só constará nas planilhas dos Efetivos
Para constar os nomes nas planilhas Auxiliares o servidor deverá receber alguma carga horária no determinado setor de trabalho.

A ideia é ocultar essas planilhas auxiliares e ficarem visíveis apenas os relatórios com suas macros, só falta esse comando para eu terminar essa planilha

Aqui está o link da planilha: http://www.4shared.com/file/70bP-oTW/Planilha.html

 
Postado : 19/12/2013 12:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Seria copiar os dados diferente de vazio da guia ("Prof - Efetivos Aux."), para....("RELATORIO PROF EFETIVO") ou ("RELATORIO PROF TEMP")?.seria isso??????

Você pode gravar uma macro.

Att

 
Postado : 19/12/2013 1:16 pm
(@uepapedro)
Posts: 7
Active Member
Topic starter
 

Seria isso mesmo!

 
Postado : 19/12/2013 1:31 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!
Por favor ao postar a mesma dúvida em mais de um fórum indique a postagem-cruzada!!
http://profwillianexcel.forumeiros.com/ ... -sem-dados

Você disse sim, mas é para as duas ou uma guia só?....("RELATORIO PROF EFETIVO") ou ("RELATORIO PROF TEMP")
Quais as colunas das guias .("RELATORIO PROF EFETIVO") ou ("RELATORIO PROF TEMP"), receberão os dados?.... pois tem formulas em ambas.

se poder explicar...

Att

 
Postado : 19/12/2013 2:23 pm
(@uepapedro)
Posts: 7
Active Member
Topic starter
 

Cada relatório possui uma planilha auxiliar,

"RELATORIO PROF EFETIVO" só receberá os dados da planilha auxiliar (Prof - Efetivos Aux.")
"RELATORIO PROF TEMP" só receberá os dados da planilha auxiliar (Prof - Temp Aux.")

Quero copiar os dados das planilhas auxiliares para seus respectivos relatórios

Cada ralatório terá um botão de comando que ao clicar nele o relatório receba os dados contidos na sua Planilha auxiliar

só que organizados, sem linhas sem dados.

 
Postado : 19/12/2013 2:41 pm
(@uepapedro)
Posts: 7
Active Member
Topic starter
 

Percebí que você sabe como fazer, mais não está me entendendo bem. Peço que não desista de me ajudar, se precisar de mais informações é só solicitar. desde já agradeço.

 
Postado : 19/12/2013 2:44 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Veja se algo próximo disso..
http://www.sendspace.com/file/z1uyqw

faça os testes..

Att

 
Postado : 19/12/2013 3:48 pm
(@uepapedro)
Posts: 7
Active Member
Topic starter
 

Boa Noite, fiz os testes,
É quase isto. Se puder fazer só algumas alterações eu agradeço:

* Gostaria que toda vez que eu executasse a macro, ela substitua os dados que já estão no RELATÓRIO.

Do Jeito que tá, toda vez que executo o comando ela continua colando logo abaixo da ultima célula com dados.

* Não precisa copiar nem colar os números que sempre estarão na Coluna A Pois vou colocar manualmente

*Gostaria que quando os dados fossem colados no RELATÓRIO, Não fosse adicionados-(células,linhas das bordas) apenas os valores.

Pra não ficar tão trabalhoso pra você Modifique só no RELATÓRIO PROF EFETIVO.

Desde já agradeço por sua Colaboração. Pedro

 
Postado : 19/12/2013 7:39 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!

Eu acho que o ultimo quesito eu vou ficar te devendo.

Sub AleVBA_I()
   Dim LastRow As Long
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
    End With
    
    With Sheets("Prof - Efetivos Aux.").Cells
        .AutoFilter
        .AutoFilter Field:=2, Criteria1:="<>" & ""
        LastRow = .Range("B" & Rows.Count).End(xlUp).Row
        .Range("B2:N" & LastRow).Copy _
         Worksheets("RELATORIO PROF EFETIVO").Range("B" & Rows.Count).End(xlUp).Offset(1)
         .Value = .Range("B10").Value
    End With
    
    With Application
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
    End With
       If Sheets("Prof - Efetivos Aux.").AutoFilterMode Then
       If Sheets("Prof - Efetivos Aux.").FilterMode Then
        Sheets("Prof - Efetivos Aux.").ShowAllData
       End If
        ElseIf Sheets("Prof - Efetivos Aux.").FilterMode Then
            Sheets("Prof - Efetivos Aux.").ShowAllData
       End If
End Sub

Att

 
Postado : 20/12/2013 6:32 am
(@uepapedro)
Posts: 7
Active Member
Topic starter
 

Boa Noite, como você indicou antes, eu consegui o que queria gravando uma macro e depois fiz umas modificações, ficou perfeito!

Ficou assim:

Sub Botão2_Clique()
Application.ScreenUpdating = False
Range("B10:N1498").Select
Selection.ClearContents
Sheets("Professores Efetivos 60%").Visible = True
Sheets("Professores Efetivos 60%").Select 'copia daqui para o RELATÓRIO'
Range("B2:N1498").Select
ActiveSheet.Range("A1:N1498").AutoFilter Field:=2, Criteria1:="<>"
Selection.Copy
Sheets("RELATORIO PROF EFETIVO 60%").Select
Range("B10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A8").Select
Sheets("Professores Efetivos 60%").Select
Sheets("Professores Efetivos 60%").Visible = False
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Relatório Atualizado com Sucesso!"
End Sub

 
Postado : 21/12/2013 11:59 pm
(@uepapedro)
Posts: 7
Active Member
Topic starter
 

Falta mais uma Coisa, na planilha mestra eu tenho uma célula que soma o total de horas dos servidores, pois eles recebem horas em várias células. Tem como uma macro me dar um aviso ou mesmo restringir esta célula se o resultado das somas das horas ultrapassarem 280? este aviso tem que ser automático sem precisar clicar em um botão.

Por favor quem souber fazer me ajudem.

 
Postado : 22/12/2013 12:09 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Veja se é isso.
http://www.sendspace.com/file/tbrmxv

Obs: Eu não considerei seu ultimo post.

Att

 
Postado : 22/12/2013 7:03 am