Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.

VBA: Optionsbutton ja, dann Tabelle drucken
#1
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
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top
#2
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
Gruß Stefan
Win 7 / Office 2007
to top
#3
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]
Gruß Atilla
to top
#4
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
Gruß Stefan
Win 7 / Office 2007
to top
#5
Hallo Stefan,

geht nicht war falsch ausgedrückt.
Ich hätte schreiben sollen, es fehlt noch etwas.
Gruß Atilla
to top
#6
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
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top
#7
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?
Gruß Stefan
Win 7 / Office 2007
to top
#8
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.)
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top
#9
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.
Gruß Stefan
Win 7 / Office 2007
[-] Folgende(r) 1 Benutzer sagt Danke an Steffl für diesen Beitrag:
  • Bernie
to top
#10
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?
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste