About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2006-06-30
VBA: Impressão de cópias numeradas sequencialmente
1:01 da manhã |
Publicada por
JRod - PORTUGAL |
Editar mensagem
Num newsgroup de Excel, foi colocada a seguinte questão:
"Pretendo imprimir n cópias de uma folha em excel, mas pretendo que cada uma delas tenha um número diferente, tipo a numeração de um livro."
Resposta possível, em VBA:
Sub ImprimeSequencial()
Dim StartNumber, EndNumber, TempNumber, TempAnswer As Integer
Do
StartNumber = InputBox("Indique o primeiro número da Sequencia")
EndNumber = InputBox("Indique o último número da Sequencia")
TempAnswer = MsgBox("Vão ser impressas " & EndNumber - StartNumber + 1 & _
" folhas! OK?", vbYesNoCancel, "Confirmar números...")
Select Case TempAnswer
Case vbCancel
Exit Sub
Case vbYes
Exit Do
End Select
Loop
For TempNumber = StartNumber To EndNumber
ActiveWorkbook.Sheets("Sheet1").Range("E30").Value = TempNumber
ActiveWorkbook.Sheets("Sheet1").PrintOut
Next TempNumber
End Sub
ATENÇÃO:
Em:
ActiveWorkbook.Sheets("Sheet1") - alterar "Sheet1" pelo nome da Sheet pretendida;
Em:
Range("E30"), alterar para a célula onde se pretende que apareça a numeração para impressão.
"Pretendo imprimir n cópias de uma folha em excel, mas pretendo que cada uma delas tenha um número diferente, tipo a numeração de um livro."
Resposta possível, em VBA:
Sub ImprimeSequencial()
Dim StartNumber, EndNumber, TempNumber, TempAnswer As Integer
Do
StartNumber = InputBox("Indique o primeiro número da Sequencia")
EndNumber = InputBox("Indique o último número da Sequencia")
TempAnswer = MsgBox("Vão ser impressas " & EndNumber - StartNumber + 1 & _
" folhas! OK?", vbYesNoCancel, "Confirmar números...")
Select Case TempAnswer
Case vbCancel
Exit Sub
Case vbYes
Exit Do
End Select
Loop
For TempNumber = StartNumber To EndNumber
ActiveWorkbook.Sheets("Sheet1").Range("E30").Value = TempNumber
ActiveWorkbook.Sheets("Sheet1").PrintOut
Next TempNumber
End Sub
ATENÇÃO:
Em:
ActiveWorkbook.Sheets("Sheet1") - alterar "Sheet1" pelo nome da Sheet pretendida;
Em:
Range("E30"), alterar para a célula onde se pretende que apareça a numeração para impressão.