Clever-Excel-Forum

Normale Version: VBA: Optionsbutton ja, dann Tabelle drucken
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo zusammen,

Mein Problem ist folgendes, hab in Userform div. Optionsbutton, jeder Button soll sich auf eine best. Tabelle beziehen und wenn Optionsbutton "ja", soll diese Tabelle, mit 10 bereits feststehenden Tabellen, gedruckt werden. Zusammen gefasst, 10 feststehende Tabellenblätter plus die in UF angewählten Tabellen (Optionsbutton). Ich hoffe mich klar ausgedrückt zu haben.

Danke schon mal im Voraus Thumps_up
Hallo Bernd,

wenn sich die Bezeichnung von den OptionButtons mit den Tabellennamen deckt, könntest Du es so versuchen.

Code:
Private Sub CommandButton1_Click()

   Dim objDruckeTab As Object
  
   For Each objDruckeTab In Me.Controls
      If TypeName(objDruckeTab) = "OptionButton" Then
         If objDruckeTab Then Worksheets(objDruckeTab.Caption).PrintOut
      End If
   Next objDruckeTab

End Sub
Hallo zusammen,

Stefan, das dürfte nicht gehen.
Bernie hat nicht geschrieben wo die feststehenden 10 Tabellen zu finden sind.

Er sollte genau schreiben, wo man diese Tabellen findet oder welche das sind.[/align]
Hallo Atilla,

wieso sollte das nicht gehen? Mein Code hat die feststehenden Tabellen noch nicht berücksichtigt, das habe ich jetzt geändert.

Code:
Private Sub CommandButton1_Click()
  
   Dim objDruckeTab As Object
   Dim vntFesteTab As Variant
   Dim lngC As Long
  
   vntFesteTab = Array("Tabelle1", "Tabelle2")
  
   For lngC = 0 To UBound(vntFesteTab)
      Worksheets(vntFesteTab(lngC)).PrintOut
   Next lngC
  
   For Each objDruckeTab In Me.Controls
      If TypeName(objDruckeTab) = "OptionButton" Then
         If objDruckeTab Then Worksheets(objDruckeTab.Caption).PrintOut
      End If
   Next objDruckeTab

End Sub
Hallo Stefan,

geht nicht war falsch ausgedrückt.
Ich hätte schreiben sollen, es fehlt noch etwas.
Hallo Stefan,

ich merke gerade, dass ich einen riesigen Fehler gemacht habe und waren Checkboxen gemeint, keine Optionsbutton.
Hier ein paar Infos, die vielleicht hilfreich sind.
Dateiname = BKCFA.xlsm, Name der UF: frm_Druckzentrale
Tabellenblätter sind nicht identisch mit dem Namen hinter der Checkbox. Die 10 immer feststehenden Tabellenblätter sind ebenfalls in der Userform aufgelistet zur besseren Übersicht und deren Checkboxen haben die Eigenschaft "True", bei weiteren 7 (können noch mehr werden) steht die Eigenschaft der Checkboxen auf "False". Nun möchte ich erreichen, dass je nach Anzahl der angewählten letzten Checkboxen, die ersten 10 Tabblätter und die angekreuzten der letzten 7 alle samt am aktiven Drucker ausgedruckt werden.

Sorry für die anfänglich falsche Darstellung :23:
Hallo Bernie,

Code:
If TypeName(objDruckeTab) = "CheckBox" Then

zu der anderen Sache: Wie soll Excel erkennen, welches Tabellenblatt gedruckt werden soll? An den Namen oder an der Beschriftung der Checkboxen oder an was sonst?
Hallo Stefan,

Zitat:welches Tabellenblatt gedruckt werden soll

Ich dachte so oder ähnlich

Code:
vntFesteTab = Array("Tabelle1", "Tabelle2")

... bis Tabelle10 fest und der Rest die jeweils über Checkbox angewählten TabBlätter (z. B. Tabelle11, Tabelle13, Tabelle16, Tabelle17 usw.)
Hallo Bernie,

das dürfte auf diesen Wege nicht gehen, denn mit der bisherigen Code von mir werden alle Controls durchlaufen ganz gleich ob es sich um eine Checkbox, Optionbutton, CommandButton, Textbox oder oder .... handelt, Wie soll da der Zusammenhang mit dem Array zustande kommen? Du mußt doch deinen Checkboxen einen Namen und eine Bezeichnung gegeben haben. Wenn ich die Checkbox ...... ausgewählt haben, soll auch das Tabellenblatt ....... gedruckt werden.
Hallo Stefan,

bislang haben die Checkboxen lfd. Nummern. Ich hab bisher sehr wenig damit gearbeitet.
Zitat:Wenn ich die Checkbox ...... ausgewählt haben, soll auch das Tabellenblatt ....... gedruckt werden
Soll ich im Eigenschaftsfenster Namen für die Checkbox vergeben? Oder was meinst du?
Seiten: 1 2 3 4