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
|