Private Sub UserForm_Initialize()
End Sub
Private Sub Abbruch_Click()
Unload Me
End Sub
Private Sub Drucken_Click()
'Deklaration der Variablen
Dim strDatum$ 'Typ: String - sieht man auch an "str" im Namen
Dim xFormat, vbStil 'ohne Datentyp, also die Variable deklariert als Variant
Dim strText$, strTitel$, strErsteller$ 'Typ: String
Dim Datenauswahl As String 'Druckbereichdaten
'Abfrage ob Druckbereich ausgewählt ist
If Datenauswahl = 0 Then
MsgBox "Kein Druckbereich ausgewählt - bitte wählen sie erst den Bereich aus", vbOKOnly + vbExclamation, "Hinweis"
Else
On Error GoTo Sprungmarke 'Aktiviert die Fehlerbehanndungsroutine und geht zur "Klasse" Sprungmarke
strDatum = Format(Date, "dd.mm.yyyy") 'Setzt das Datumsformat für die Variable strDatum fest auf Tag/Monat/Jahr
strTitel = ActiveSheet.Name 'Ließt den Namen des Aktiven Blattes aus und übergibt ihn an die Variable strTitel
strText = "Was soll in der Kopfzeile linksbündig stehen? " & vbNewLine & vbNewLine 'Legt einen Standardtext für die Variable strText fest - dazu werden zwei neue Zeilen erzeugt
strTitel = InputBox(strText, "Eingabe der Überschrift", strTitel) 'Öffnet ein Eingabefeld in dem die Überschrift eingegeben werden soll, wenn nichts angegeben, dann wird der Titel aus strTitel genommen
strErsteller = Environ("Username") 'Anmeldedaten des Nutzers des Betriebssystems werden an die Variable strErsteller übergeben
strErsteller = ActiveWorkbook.BuiltinDocumentProperties("Last Author") 'Name des letztes Authors wird an die Variable strErsteller übergeben
If strErsteller = "" Then strErsteller = ActiveWorkbook.BuiltinDocumentProperties("Author") 'Falls der Ersteller nicht angegeben ist, wird der Ersteller aus dem Dokumenteneigenschaften übernommen
Application.PrintCommunication = False 'Gibt an, ob die Kommunikation mit dem Drucker eingeschaltet ist. False: Ausführung von Code zu beschleunigen, um PageSetup -Eigenschaften festzulegen.
With ActiveSheet.PageSetup 'Startet die Seiteneinstellungen
.PrintArea = Range(RefEdit1.Text) 'Gibt den zu druckenden Range-Wert in der Sprache des Makros als Zeichenfolge zurück oder legt ihn fest.
'IF Schleife hier festlegen - bezüglich des Formats
If Hochformat = True Then
.Orientation = xlPortrait 'Ausrichtung auf Hochformat
Else
If Querformat = True Then
.Orientation = xlLandscape 'Ausrichtung auf Querformat
Else
MsgBox "Kein Format ausgewählt", vbOKOnly + vbExclamation, "Hinweis"
End If
End If
.PaperSize = xlPaperA4 'Setzt Papierformat auf DIN A4
'If Schleife hier festlegen - bezüglich der Kopf und Fußzeilen
If Kopfzeile = True And Fußzeile = True Then
.LeftHeader = strTitel 'Gibt die Ausrichtung von Text in der linken Kopfzeile einer Arbeitsmappe oder eines Abschnitts zurück oder legt diese fest. - Variableninhalt strTitel
.RightHeader = strDatum 'Gibt den rechten Teil der Kopfzeile zurück oder legt ihn fest. - Variableninhalt strDatum
.LeftFooter = strErsteller 'Gibt die Ausrichtung von Text in der linken Fußzeile einer Arbeitsmappe oder eines Abschnitts zurück oder legt diese fest. - Variableninhalt strErsteller
.RightFooter = "Seite: &S/&A" 'Gibt den Abstand (in Punkt) zwischen dem rechten Rand der Seite und der rechten Begrenzung der Fußzeile zurück oder legt ihn fest. Gibt hier die Seite und Seitenanzahl an
Else
If Kopfzeile = True Then
.LeftHeader = strErsteller 'Gibt die Ausrichtung von Text in der linken Fußzeile einer Arbeitsmappe oder eines Abschnitts zurück oder legt diese fest. - Variableninhalt strErsteller
.CenterHeader = strDatum 'Gibt den rechten Teil der Kopfzeile zurück oder legt ihn fest. - Variableninhalt strDatum
.RightHeader = "Seite: &S/&A"
Else
If Fußzeile = True Then
.LeftFooter = strErsteller 'Gibt die Ausrichtung von Text in der linken Fußzeile einer Arbeitsmappe oder eines Abschnitts zurück oder legt diese fest. - Variableninhalt strErsteller
.CenterFooter = strDatum 'Gibt den rechten Teil der Kopfzeile zurück oder legt ihn fest. - Variableninhalt strDatum
.RightFooter = "Seite: &S/&A"
Else
End If
End If
End If
.CenterFooter = "" 'Zentriert die Fußzeileninformationen im PageSetup-Objekt. - Ist leer
.LeftMargin = Application.InchesToPoints(0.7874) 'Gibt die Größe des linken Rands in Punktzurück oder legt Sie fest. | Application.InchesToPoints wandelt eine Maßangabe von Zoll in Punkt um.
.RightMargin = Application.InchesToPoints(0.3937) 'Gibt die Größe des rechten Rands in Punktzurück oder legt Sie fest.
.TopMargin = Application.InchesToPoints(0.7874) 'Gibt die Größe des oberen Seitenrands in Punktzurück oder legt Sie fest.
.BottomMargin = Application.InchesToPoints(0.7874) 'Gibt die Größe des unteren Seitenrands in Punktzurück oder legt Sie fest.
.HeaderMargin = Application.InchesToPoints(0.31496) 'Gibt den Abstand zwischen dem oberen Rand der Seite und der Kopfzeile in Punktzurück oder legt ihn fest.
.FooterMargin = Application.InchesToPoints(0.31496) 'Gibt den Abstand vom unteren Rand der Seite zur Fußzeile in Punktzurück oder legt ihn fest.
.FitToPagesWide = 1 'Gibt zurück oder legt die Anzahl der Seiten breit, die das Arbeitsblatt skaliert werden, wenn es gedruckt wird. Nur gültig für Arbeitsblätter.
.PrintErrors = xlPrintErrorsDisplayed 'Legt eine XlPrintErrors -Konstante fest, die den Typ des angezeigten Druckfehlers angibt, oder gibt Sie zurück. Diese Funktion ermöglicht es den Benutzern, beim Drucken eines Arbeitsblatts die Anzeige von Fehlerwerten zu unterdrücken. | Gibt den Typ des angezeigten Druckfehlers an.
End With 'Ende der Seiteneinstellungen
Application.PrintCommunication = True 'True: alle im Cache vorhandenen PageSetup-Befehle werden ausgeführt
Exit Sub 'Ausgang des Markos
Sprungmarke:
Application.PrintCommunication = True 'True: alle im Cache vorhandenen PageSetup-Befehle werden ausgeführt
strTitel = "Wichtige Information" 'Titel wird festgelegt
strText = "Es ist ein Fehler aufgetreten. Bitte wenden sich an den Ersteller unter info@xyz.de. " & vbNewLine & vbNewLine 'Fehlermeldung
vbStil = vbOKOnly + vbExclamation 'Gibt an, dass nur die Schaltfläche OK angezeigt wird + Gibt an, dass das Ausrufezeichensymbol angezeigt wird
MsgBox strText, vbStil, strTitel 'Nachrichtenbox mit festgelegten Inhalt wird angezeigt
End If
End Sub
Private Sub Fußzeile_Click()
End Sub
Private Sub Kopfzeile_Click()
End Sub
Private Sub OptionButton1_Click()
'Hochformat
End Sub
Private Sub OptionButton2_Click()
'Querformat
End Sub
Private Sub RefEdit1_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)
End Sub
Private Sub UserForm_Click()
End Sub