Office - Word, Excel und Co. 9.744 Themen, 41.408 Beiträge

Excel: Mittels Userform (VBA) Daten in eine Tabelle einfügen (mit Rahmen)

minbari / 33 Antworten / Flachansicht Nickles

Moin,

ich bin gerade dabei, eine Excel-Tabelle zu erstellen.
Mittels einer Eingabemaske (Userform) werden die Daten in eine Tabelle eingefügt.

Ich habe soweit alles fertig. Das Einzige, was noch nicht funktioniert ist, dass die eingetragenen Daten in eine Zelle mit Rahmen eingefügt werden.

Es geht hier speziell um den Rahmen!

Folgenden Code verwende ich:

Private Sub Abbrechen_Button_Click()

' Eingabefenster schließen

Unload Eingabemaske

End Sub


Private Sub Eintragen_Button_Click()

' Eingaben der Maske in das Fahrtenbuch übernehmen

Dim StartZeile&
Dim Ws As Worksheet
Set Ws = ActiveSheet
StartZeile = Ws.Cells(65536, 2).End(xlUp).Row + 1
Ws.Cells(StartZeile, 2) = CDate(Text_Datum.Text)
Ws.Cells(StartZeile, 3) = Zweck
Ws.Cells(StartZeile, 4) = Fahrzeug
Ws.Cells(StartZeile, 5) = Begleitung
Ws.Cells(StartZeile, 6) = Bemerkung

' nach Datum sortieren

Range("B6:F3300").Sort Key1:=Range("B7")

' Eingabemaske schließen

Unload Eingabemaske

End Sub


Private Sub UserForm_Initialize()

'Automatischer Eintrag Datum

Eingabemaske.Text_Datum.Value = Date

'Dropdownmenü Begleitung

Eingabemaske.Begleitung.RowSource = "Daten!$A$2:$A$8"

'Dropdownmenü Fahrzeug

Eingabemaske.Fahrzeug.RowSource = "Daten!$C$2:$C$15"

'Dropdownmenü Bemerkung

Eingabemaske.Bemerkung.RowSource = "Daten!$E$2:$E$9"

'Dropdownmenü Zweck der Fahrt

Eingabemaske.Zweck.RowSource = "Daten!$G$2:$G$32"


End Sub

Ich benutze Excel 2016.


Betreffen würde es B6:F6, wobei dies natürlich veränderlich ist, da immer neue Einträge eine Zeile tiefer ansetzen.

Habt Ihr eine Idee?

Danke für die Hilfe!

minbari

bei Antwort benachrichtigen
hddiesel minbari „Ich habe jetzt alle Zeilen ab Zeile 9 gelöscht. Dadurch möchte er jetzt die 33 leeren Seiten nicht mehr drucken. Soweit ...“
Optionen

Hallo minbari,

um Dir zu helfen, sollte man deine Tabelle kennen.

Der Druckbereich geht von Spalte A bis zur Spalte ?

Die erste Druckzeile ist ?

Zur Ermittlung der letzten Druckzeile, steht der letzte Wert in der Spalte ?

Hier als Beispiel, ein einfach anzupassendes Makro für den Druckbereich, die entsprechenden Werte deiner Tabelle anpassen.

Sicher geht es einfacher, aber als Beispiel sollte es genügen.

Sub Druckbereich_Spalten_Zeilen()
    Dim intRows As Long

    With ActiveSheet
        Application.ScreenUpdating = False

        ' Maximale Datenzeile festlegen z.B. letzter Wert in der Spalte 2
        intRows = .Cells(Rows.Count, 2).End(xlUp).Row

        ' Druckbereich und Seitenumbrüche löschen.
        .PageSetup.PrintArea = ""
        .ResetAllPageBreaks

        ' Druckbereich neu festlegen Spalten A1 bis z.B. G & intRows
        .PageSetup.PrintArea = "$A$1:$G$" & intRows

        ' Events und Bildschirmaktualisierung einschalten.
        Application.ScreenUpdating = True

    End With

End Sub

Windows 10 Pro 64-Bit, 22H2: MS Office Pro Plus 2016 32-Bit: Mein Motto: Leben und leben lassen: Gruss Karl
bei Antwort benachrichtigen