Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA: Optionsbutton ja, dann Tabelle drucken
#11
Hallo Bernie,

wenn die Checkboxen laufende Nummern haben und die Nummerierung von 11 bis 17 geht, könntest Du es mal so versuchen.

Code:
Private Sub CommandButton1_Click()
  
   Dim vntDruckeTab As Variant
   Dim lngC As Long
  
   vntFesteTab = Array("Tabelle1", "Tabelle2")
  
   For lngC = 11 To 17
      If Me.Controls("CheckBox" & lngC).Value Then Worksheets(vntDruckeTab(lngC - 11)).PrintOut
   Next lngC
  
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#12
Hallo Bernie,

Ich habe mal wieder in den unendlichen Tiefen meiner Festplatten eines meiner Uraltschätzchen gefunden und entstaubt.
Würde Dir sowas weiterhelfen?  https://www.dropbox.com/s/t4jf5f1p92v859...n.jpg?dl=0  Dann würde ich mal schauen, ob ich das Teil auch wirklich zuende programmiert habe.

Ich würde dann die Datei hier einstellen und die vorhandenen VBA'ler bitten, zu übernehmen, da ich bald in's Krankenhaus muß.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#13
(21.02.2015, 17:34)Steffl schrieb: Hallo Bernie,

wenn die Checkboxen laufende Nummern haben und die Nummerierung von 11 bis 17 geht, könntest Du es mal so versuchen.





Code:
Private Sub CommandButton1_Click()
 
  Dim vntDruckeTab As Variant
  Dim lngC As Long
 
  vntFesteTab = Array("Tabelle1", "Tabelle2")
 
  For lngC = 11 To 17
     If Me.Controls("CheckBox" & lngC).Value Then Worksheets(vntDruckeTab(lngC - 11)).PrintOut
  Next lngC
 
End Sub

Hallo Stefan,

bekomme Fehlermeldung bei "vntFesteTab" = Variable nicht definiert.

Hier eine Abbildung des Eigenschaftenfenster einer Checkbox.


Angehängte Dateien Thumbnail(s)
   
Grüße aus Bremen
Bernie

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

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
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.
Antworten Top
#14
(21.02.2015, 20:12)Käpt schrieb: Hallo Bernie,

Ich habe mal wieder in den unendlichen Tiefen meiner Festplatten eines meiner Uraltschätzchen gefunden und entstaubt.
Würde Dir sowas weiterhelfen?  https://www.dropbox.com/s/t4jf5f1p92v859...n.jpg?dl=0  Dann würde ich mal schauen, ob ich das Teil auch wirklich zuende programmiert habe.

Ich würde dann die Datei hier einstellen und die vorhandenen VBA'ler bitten, zu übernehmen,

Hallo Peter,
Das ist genau das was ich suche. Meine Userform sieht deiner Abbildung ähnlich und ich denke die Verfahrensweise ist so wie ich es mir für mich vorstelle.
Für deine Datei wäre ich Dir sehr dankbar!

Zitat:da ich bald in's Krankenhaus muß.
Dazu wünsche ich Dir von ganzem ♥, dass alles so wird, wie du es dir wünscht. Denn wenn man ganz stark daran glaubt, gehen Wünsche auch in Erfüllung. :100:
Grüße aus Bremen
Bernie

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

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
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.
Antworten Top
#15
Hallo Bernie,

da habe ich beim Umschreiben geschlampert.  :@

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

wobei Du zumindest den Schleifenzähler auch noch anpassen mußt wenn ich sowas wie CheckBox21 lese.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Bernie
Antworten Top
#16
Hallo zusammen,
Hallo Stefan,

ich habe mir die UserForm mit 30 Optionbutton erstellt und bekomme aber mein Vorhaben nicht gebacken.

Mein Ziel ist es, je nach Anwahl der Optionsbutton die dazugehörige Tabelle aus zu drucken. Habe den Code von Stefan wieder entfernt, also alles ohne Code. Innerhalb der Musterdatei habe ich in Tabelle1 erklärt, welche Tabellen überhaut ausgedruckt werden sollen, in der UF Erklärung zu den Optionsbutton.

Vielleicht Hast du Stefan oder jemand anderes eine Idee, ich komme leide nicht weiter.

Danke schon mal im Voraus!!!


Angehängte Dateien
.xlsm   DruckTest.xlsm (Größe: 47,28 KB / Downloads: 9)
Grüße aus Bremen
Bernie

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

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
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.
Antworten Top
#17
Hallo Bernie,

mit den OptionButton wie Du es hast, geht es nicht weil bei diesen, falls Du nicht mit Gruppennamen arbeitest, immer nur eine aktiv sein kann. Nimm die CheckBoxen oder vergebe jedem OptionButton einen Gruppennamen. Wenn die Tabellen immer einen Namen wie Tabelle... haben, kannst Du es so machen (hier mit den checkboxen)

Code:
Private Sub CommandButton1_Click()

  Dim lngC As Long
 
  'die Tabellen werden gedruckt wenn die CHECKBOX!!! den Haken hat (da die ersten 10 immer den Haken hat habe ich es in einer Schleife gemacht)
  For lngC = 1 To 30
     If Me.Controls("CheckBox" & lngC).Value Then Worksheets("Tabelle" & lng + 10).PrintOut
  Next lngC

End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#18
Hallo zusammen,

Ich würde hier eine Listbox einsetzen.
Die Listbox hat eine Multiselect und die Liststyle Eigenschaft Option. 

Damit können bequem mehrere Tabellen ausgewählt und gedruckt werden.

In Bernies Datei habe ich so ein Beispiel mal nur zum shen ohne Code eingearbeitet.
Aber da Programmieren ist dann auch kein Problem.
Ich würde alle in Frage kommende Tabellennamen in eine Tabelle untereinander auflisten und von da diese in die Listbox einlesen.
In einer weiteren Spalte würde ich die fest zu druckenden Tabellennamen auflisten.

.xlsm   DruckTest.xlsm (Größe: 48,01 KB / Downloads: 3)
Gruß Atilla
Antworten Top
#19
Hallo Stefan,
hallo Atilla,

Danke erst mal für eure Bemühungen und entschuldigt, dass ich mich jetzt erst melde. Hatte beruflich viel zu tun.

Ich hatte mir bereits überlegt die einzelnen Checkboxen so anzusprechen ....
Code:
Private Sub UserForm_Initialize()
  CheckBox1 = True
  CheckBox2 = True
  'usw.
End Sub

Private Sub CommandButton1_Click()
  If CheckBox1 = True Then Sheets("AdrDeckblatt").PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
  If CheckBox2 = True Then Sheets("AdrInhalt").PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
  'usw.
End Sub

@Atilla habe mir deine Vorschlag angesehen. Leider habe ich keine Erfahrung, wie ich das umsetzen kann. Könntest du mir vielleicht einen Ansatzpunkt geben?
Grüße aus Bremen
Bernie

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

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
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.
Antworten Top
#20
Hallo Bernie,

leider hattest Du eine Datei hochgeladen die nicht der Realität bezüglich der Tabellennamen entspricht. Somit konnte ich nur eine Lösung mit Worksheets("Tabelle... entwickeln. Wären die Tabellennamen so gewesen, wie sie es tatsächlich sind, hätte ich dir eine angepaßte Lösung gepostet. Dein Vorschlag ist meinerachtens recht umständlich und Du könntest auf den Vergleich mit True verzichten

Code:
 If CheckBox1 Then Sheets("AdrDeckblatt").PrintOut Copies:=1, Collate:=True, _
       IgnorePrintAreas:=False
 If CheckBox2 Then Sheets("AdrInhalt").PrintOut Copies:=1, Collate:=True, _
       IgnorePrintAreas:=False

wobei auch auf Copies und Collate verzichtet werden könnte, da Du nur eine Kopie ausdruckst und standardmäßig eh nur eine Kopie gedruckt und bei einer Kopie nicht sortiert werden muss.
Gruß Stefan
Win 10 / Office 2016
Antworten Top


Gehe zu:


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