Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

In einem Dialog ausgewählte Spalten drucken

Gruppe

CheckBox

Problem

Ich habe eine Dialogbox mit einer Reihe von CheckBoxes, die Spalten in einem Arbeitsblatt (Name, Vorname, PLZ, Ort etc.) darstellten. Nach Beendigung des Dialogs sollen die Spalten, deren Checkbox aktiviert wurde, gedruckt werden. Wie mache ich das?

Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.

StandardModule: basMain

Sub CallForm()
   frmPrint.Show
End Sub

Sub SetPrintPreview(arr As Variant)
   Dim iCounter As Integer
   For iCounter = 1 To 4
      If arr(iCounter) = True Then
         Columns(iCounter).Hidden = False
      Else
         Columns(iCounter).Hidden = True
      End If
   Next iCounter
   ActiveSheet.PrintPreview
   Columns.Hidden = False
   ActiveSheet.DisplayPageBreaks = False
End Sub

ClassModule: frmPrint

Private Sub cmdCancel_Click()
   Unload Me
End Sub

Private Sub cmdOK_Click()
   Dim iCounter As Integer
   Dim arrBln(1 To 4) As Boolean
   For iCounter = 1 To 4
      If Controls("CheckBox" & iCounter).Value = True Then
         arrBln(iCounter) = True
      End If
   Next iCounter
   Unload Me
   Call SetPrintPreview(arrBln)
End Sub