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
mawe2 Borlander „Ist zwar schon ewig her, dass ich mal VBA programmiert habe, aber ich würde eher mit einer Range arbeiten, statt alle ...“
Optionen
ich würde eher mit einer Range arbeiten, statt alle Zellen einzeln zu formatieren. Das ist im Zweifelsfall auch deutlich schneller.

Da wirst Du bei den 5 Zellen, die hier formatiert werden, keinerlei Performanceunterschied feststellen.

Die Schleife war einfach für mich der schnellste Ansatz, um dem TS hier eine Lösung aufzuzeigen.

Man muss bei solchen Programmieraufgaben auch immer abwägen, wie viel weitere Zeit man in vermeintliche Performanceverbesserungen investiert, wenn diese am Ende sowieso nicht spürbar sind.

Oder spricht da irgendwas technisches dagegen?

Das spricht technisch nichts dagegen.

bei Antwort benachrichtigen