Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

In Userform-Textfeld Monat per Spinbutton ändern

Forumthread: In Userform-Textfeld Monat per Spinbutton ändern

In Userform-Textfeld Monat per Spinbutton ändern
27.02.2025 16:54:04
juki1004
Hallo liebe Alle!

Ich hoffe mir kann jemand weiterhelfen- bin noch ziemlicher VBA-Neuling.
Ich habe ein Textfeld in einer Userform in das über einen ComandButton der aktuelle Monat eingetragen wird (hier wäre das Jahr eigentlich egal). Es müsste also nicht auf Grundlage des ganzen Datums eingetragen sein, aber eben der Monat den wir gerade haben...
Das habe ich so gelöst:


Private Sub CommandButton_Click()
'aktuellen Monat eintragen
UserForm.TextBox.Value = Format(Date, "mmm")
End Sub


Nun möchte ich über einen zusätzlichen SpinButton den Monat in der TextBox verändern...

Ich kann leider keine Beispiel-Datei hochladen, da ich in einer Universitätsmedizin sitze und wir keinen direkten Internetzugang haben.
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Userform-Textfeld Monat per Spinbutton ändern
27.02.2025 17:12:32
ralf_b
wenn den Wert des Spinbuttons auf den Monat setzt, kannst du den Wert des Spinbuttons direkt verwenden.
statt  das  Format(Date, "mmm")  setze Spinbutton1.value
AW: In Userform-Textfeld Monat per Spinbutton ändern
28.02.2025 09:52:58
juki1004
Hallo ralf_b

Jetzt kommt die Anfänger-Frage:

Wie setzte ich den Wert des Spinbuttons auf den Monat?

Gruß juki
Anzeige
AW: Im Anhang ist...
28.02.2025 09:47:52
juki1004
@Case
Danke für die Mühe,
leider kann ich mir das Beispiel nicht angucken, da ich wie oben erwähnt in einer Universitätsmedizin sitze und durch die strickte Trennung von Internet und lokalem Rechner nichts hoch- oder runterladen kann...

Gruß juki
Anzeige
Nun du hast...
28.02.2025 10:05:17
Case
Moin, :-)

... eine UserForm. Darauf eine TextBox (TextBox1) und einen SpinButton (SpinButton1). Dann funktioniert folgender Code: ;-)
Option Explicit

Private Sub UserForm_Initialize()
TextBox1.Text = Format(Date, "MMMM")
End Sub
Private Sub SpinButton1_SpinUp()
TextBox1.Text = Format(DateSerial(Year(Date), Month(CDate("1." & TextBox1.Text)) + 1, 1), "MMMM")
End Sub
Private Sub SpinButton1_SpinDown()
TextBox1.Text = Format(DateSerial(Year(Date), Month(CDate("1." & TextBox1.Text)) - 1, 1), "MMMM")
End Sub

Servus
Case
Anzeige
AW: In Userform-Textfeld Monat per Spinbutton ändern
27.02.2025 20:00:47
Daniel
Hi

für maximalen Anwenderkomfort mit wenig Programmieraufwand gehe so vor:

- verwende anstelle der Textbox eine Combobox.
um diese zu befüllen, suchst du dir einen freien platz in irgendeinem Tabellenblatt und trägst dort in 12 Zellen untereinander die Monatsnamen in der richtigen Reihenfolge ein.
damit diese dann auch in der Combobox erscheinen, schreibst du die Adresse des Zellbereichs mit Tabellenblatt in die Comboboxeigenschaft RowSource (bei RowSource eintragen, sowas wie: 'Tabelle1'!A1:A12

- der Commandbutton für akuellen Monat bekokommt dann diesen Code:
ComboboxMonat.ListIndex = Month(Date) - 1


- die Spinbuttons haben die zwei Evens SpinUp und SpinDown (je nachdem, welcher Button gedrückt wird)
diese bekommen dann folgende Zeilen in das jeweilige Event:
SpinUp:
With ComboboxMonat

if .ListIndex > 0 then .ListIndex = .ListIndex - 1
End With

SpinUp:
With ComboboxMonat

if .ListIndex 11 Then .ListIndex = .ListIndex + 1
end with


Damit kann der Anwender den Monat nicht nur über die Buttons einstellen, sondern auch per Klappliste direkt wählen.

Gruß Daniel

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige