Saberexcel - site de quem precisa Aprender Macros Microsoft Excel VBA.
Essas macros do Aplicativo Microsoft Excel VBA, com auxílio de uma caixa de combinação (Combobox) imprimem determinadas áreas da planilha, observem que usei a Instrução Select Case para 'chamar' (referenciar) aos macros específicos. Você poderá baixar o exemplo de planilha no final da página.
Sub Imprimir_determinadas_areas()
Dim MAreas As Variant
MAreas = Sheets("Imprimir").Range("H1")
If Not IsNumeric(MAreas) Then
Exit Sub
Else
Select Case MAreas
Case 1
Call Imprimir_Area_I
Case 2
Call Imprimir_Area_II
Case 3
Call Imprimir_Area_III
Case 4
Call Imprimir_Area_IV
Case 5
Call Imprimir_Area_V
Case 6
Call Imprimir_Area_VI
Case 7
Call Abrir_cxa_dialogo
End Select
End If
End Sub
Sub Imprimir_Area_I()
On Error Resume Next ' no caso de cancelamento da macro
Sheets("Imprimir").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$A$20"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Sub Imprimir_Area_II()
On Error Resume Next ' no caso de cancelamento da macro
Sheets("Imprimir").Select
ActiveSheet.PageSetup.PrintArea = "$B$1:$B$20"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Sub Imprimir_Area_III()
On Error Resume Next ' no caso de cancelamento da macro
Sheets("Imprimir").Select
ActiveSheet.PageSetup.PrintArea = "$C$1:$C$20"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Sub Imprimir_Area_IV()
On Error Resume Next ' no caso de cancelamento da macro
Sheets("Imprimir").Select
ActiveSheet.PageSetup.PrintArea = "$D$1:$D$20"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Sub Imprimir_Area_V()
On Error Resume Next ' no caso de cancelamento da macro
Sheets("Imprimir").Select
ActiveSheet.PageSetup.PrintArea = "$E$1:$E$20"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Sub Imprimir_Area_VI()
On Error Resume Next ' no caso de cancelamento da macro
Sheets("Imprimir").Select
ActiveSheet.PageSetup.PrintArea = "$F$1:$F$20"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Sub Abrir_cxa_dialogo()
Application.Dialogs(xlDialogPrint).Show
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA com SaberExcel
Baixe o exemplo de planilha contendo as macros acima
vba impressao areas separadas instrucao select case (65.77 kB 2010-11-21 19:16:01)