Notifications
Clear all

Macro para impressão de folha de ponto

2 Posts
1 Usuários
0 Reactions
989 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Eai galera tudo tudo tranquilo??
to precisando ajuda numa macro para imprimir a folha de ponto dos funcionarios aqui da empresa a macro ta ai embaixo só que ta dando erro na hora de colar o nome do funcionario que é retirado de uma aba e colado na folha de ponto. Se alguem puder me ajudar a entender o que eu estou fazendo de errado eu agradeço!

Sub Macro16()
'
' Macro16 Macro
'

'
Sheets("Colaboradores").Select
Range("A2").Select
Do While ActiveCell <> ""
Application.CutCopyMode = False
Selection.Copy
Sheets("Folha").Select
Range("E1").Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Colaboradores").Select
ActiveCell(x1Down).Select
Loop
MsgBox "A impressão das Folhas de Ponto terminou!"
End Sub

Abraços

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

 
Postado : 13/07/2011 5:52 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Hugo, altere o Paste por PasteSpecial.

Agora não sei se entendi corretamente, em sua rotina é selecionado A2 e depois temos a instrução :
Do While ActiveCell <> "" ou seja, enquanto A2 for diferente de VAZIA, então o Do Wihile só vai correr uma vez devido de no final termos a instrução ActiveCell(x1Down).Select que seleciona A1 e é encerrado o Loop.

Então se a intenção é copiar uma celula de cada vez que se encontram na Coluna A a partir de A2 usando o Loop a rotina deveria ser construida usando For...Next, se for isto, a rotina abaixo irá fazer este serviço com poucas linhas :

Sub MacroMauro()

Sheets("Colaboradores").Select

'Conta a qde de dados na coluna A
Set sRng = Range("A" & Rows.Count).End(xlUp)
    
    For x = 2 To sRng + 1
        Range("A" & x).Copy Destination:=Worksheets("Folha").Range("E1")
        
        Worksheets("Folha").PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Next x

    MsgBox "A impressão das Plan2s de Ponto terminou!"
    
End Sub

Se não for isto, fica uma sugestão.

[]s

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

 
Postado : 13/07/2011 10:41 pm