Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1444to1448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hilfe bei Makroausführung

Hilfe bei Makroausführung
14.09.2015 17:45:20
Peter
Liebe Excelfreunde,
ich habe ein kleines Problem. Es besteht ein kleines Excelprogramm. Zu Beginn wird
eine Userform geöffnet mit der Auswahlmöglichkeit mehrerer Userforms. Wenn ich das Userform Einzelkonto aufrufe befindet sich eine Listbox mit Einträgen und eine weitere mit dem Inhalt der ausgewählt wurde. Mittels dem Button Drucken hinterlegt mit folgendem Makro:
Private Sub CommandButton2_Click()
UserForm1_Einzelkonto.Hide
Textbox_OnExit3
End Sub
Sub Textbox_OnExit3()
If TextBox5.Value = "11" Then Call Drucken_11
If TextBox5.Value = "12" Then Call Drucken_12
If TextBox5.Value = "13" Then Call Drucken_13
If TextBox5.Value = "14" Then Call Drucken_14
If TextBox5.Value = "15" Then Call Drucken_15
If TextBox5.Value = "16" Then Call Drucken_16
If TextBox5.Value = "17" Then Call Drucken_17
If TextBox5.Value = "18" Then Call Drucken_18
If TextBox5.Value = "19" Then Call Drucken_19
If TextBox5.Value = "20" Then Call Drucken_20
If TextBox5.Value = "21" Then Call Drucken_21
If TextBox5.Value = "22" Then Call Drucken_22
If TextBox5.Value = "23" Then Call Drucken_23
If TextBox5.Value = "24" Then Call Drucken_24
If TextBox5.Value = "25" Then Call Drucken_25
If TextBox5.Value = "26" Then Call Drucken_26
If TextBox5.Value = "27" Then Call Drucken_27
If TextBox5.Value = "28" Then Call Drucken_28
If TextBox5.Value = "29" Then Call Drucken_29
If TextBox5.Value = "30" Then Call Drucken_30
If TextBox5.Value = "31" Then Call Drucken_31
If TextBox5.Value = "32" Then Call Drucken_32
If TextBox5.Value = "33" Then Call Drucken_33
If TextBox5.Value = "34" Then Call Drucken_34
If TextBox5.Value = "35" Then Call Drucken_35
If TextBox5.Value = "36" Then Call Drucken_36
If TextBox5.Value = "37" Then Call Drucken_37
If TextBox5.Value = "38" Then Call Drucken_38
If TextBox5.Value = "39" Then Call Drucken_39
If TextBox5.Value = "40" Then Call Drucken_40
If TextBox5.Value = "41" Then Call Drucken_41
If TextBox5.Value = "42" Then Call Drucken_42
If TextBox5.Value = "43" Then Call Drucken_43
If TextBox5.Value = "44" Then Call Drucken_44
If TextBox5.Value = "45" Then Call Drucken_45
If TextBox5.Value = "46" Then Call Drucken_46
If TextBox5.Value = "47" Then Call Drucken_47
If TextBox5.Value = "48" Then Call Drucken_48
If TextBox5.Value = "49" Then Call Drucken_49
If TextBox5.Value = "50" Then Call Drucken_50
If TextBox5.Value = "51" Then Call Drucken_51
If TextBox5.Value = "52" Then Call Drucken_52
If TextBox5.Value = "53" Then Call Drucken_53
If TextBox5.Value = "54" Then Call Drucken_54
If TextBox5.Value = "55" Then Call Drucken_55
If TextBox5.Value = "56" Then Call Drucken_56
If TextBox5.Value = "57" Then Call Drucken_57
If TextBox5.Value = "58" Then Call Drucken_58
If TextBox5.Value = "59" Then Call Drucken_59
If TextBox5.Value = "60" Then Call Drucken_60
If TextBox5.Value = "61" Then Call Drucken_61
If TextBox5.Value = "62" Then Call Drucken_62
If TextBox5.Value = "63" Then Call Drucken_63
If TextBox5.Value = "64" Then Call Drucken_64
If TextBox5.Value = "65" Then Call Drucken_65
If TextBox5.Value = "66" Then Call Drucken_66
If TextBox5.Value = "67" Then Call Drucken_67
If TextBox5.Value = "68" Then Call Drucken_68
If TextBox5.Value = "69" Then Call Drucken_69
If TextBox5.Value = "70" Then Call Drucken_70
End Sub wird der Druckvorgang ausgelöst. Nach Durchführung des Druckes wird die Userform wieder angezeigt, und es kann der nächste Eintrag usw. gedruckt werden.
Der Druckauftrag selbst, wird mit folgenden Makro ausgeführt.
Sub Drucken_11()
Sheets("11").Select
ActiveSheet.PageSetup.PrintArea = "" 'Druckbereich aufheben
SpalteA = Range("A65536").End(xlUp).Row 'SpalteA ist der Massstab für das berechnen der letzten beschriebenene Zelle in Spalte A
ActiveSheet.PageSetup.PrintArea = _
Range("A1:I" & SpalteA).Address
'ActiveSheet.PageSetup.Orientation = xlLandscape
Dim wks As Worksheet, lView As Long, oSheet As Object
Set oSheet = ActiveSheet
Set wks = Sheets("11")
Application.ScreenUpdating = False
With wks
.Activate
lView = Application.ActiveWindow.View
.ResetAllPageBreaks 'Alle vorhandenen festen Seitenwechsel löschen
With .PageSetup
.LeftHeader = "&""Arial,Standard""&10&BEinzelkonto " '& Format(Sheets("Kontosalden").Range("D04"))
.CenterHeader = "&""Arial,Standard""&10&BStand " & Format(Sheets("Kontosalden").Range("A1"), "dd.mm.yyyy")
'.PrintArea = "$A$1:$N$132" 'nicht erforderlich da Makro DruckbereichFestlegen eingefügt
.Zoom = 78
'Do Until wks.VPageBreaks.Count = 0 Or .Zoom 'Application.ActiveWindow.View = xlNormalView
'.Zoom = .Zoom - 1 'den Wert 1 ggf. erhöhen, wenn es etwas schneller gehen soll. _
Dann wird evtl. der Platz zwischen den Seitenrändern nicht ganz ausgenutzt.
'Application.ActiveWindow.View = xlPageBreakPreview
'Loop
.LeftFooter = "&""Arial,Standard""&10&BAnfangstand € " & Format(Sheets("Kontosalden").Range("D4"), "###0.00") & Chr(10) & "&""Arial,Standard""&10&B+ umgebucht € " & Format(Sheets("Kontosalden").Range("E4"), "###0.00")
.CenterFooter = "&""Arial,Standard""&10&Bdavon bereits ausgegeben € " & Format(Sheets("Kontosalden").Range("F4"), "###0.00")
.RightFooter = "&""Arial,Standard""&10&BRestbestand € " & Format(Sheets("Kontosalden").Range("G4"), "###0.00")
End With
'feste Seitenwechsel einfügen
'.HPageBreaks.Add Before:=.Range("A64") 'Kann zum Einstellen von manuellen Zeilenwechsel verwendet werden
'.HPageBreaks.Add Before:=.Range("A122")
Application.ActiveWindow.View = lView
End With
oSheet.Activate
Application.ScreenUpdating = True
'ActiveWindow.SelectedSheets.PrintPreview
ActiveWindow.SelectedSheets.PrintOut Copies:=1 'Ausdruck
Range("A1").Select
UserForm1_Einzelkonto.Show
End Sub
Das Problem ist nun, dass nach Abschluss mehrerer Druckaufträge und beim Schliessen der Useerform Auswahl die Userform Einzelkonto nochmals geöffnet wird und der letzte Druckauftrag nochmals gedruckt wird.
Meine Frage nun an Euch, wie kann ich diesen Fehler beheben.
Besten Dank
Peter

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Problem gelöst
15.09.2015 10:22:52
Peter
Hall habe das Problem gelöst.
Gruss Peter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige