Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Drehfeld Spinbutton

VBA Drehfeld Spinbutton
22.09.2015 18:00:36
Noureddine
Hallo,
Ich habe hier noch etwas. Ein kleiner Schönheitsfehler.
Ich habe mir ein Formular gebastellt. Im Formular habe ich unterandem drei Eingabe Felder für das Datum, also Tag/Monat/Jahr.
Diese Felder möchte ich jetzt mit einem Drehfeld hoch und runter klicken können. Soweit hab ich es geschafft. Die MIN und MAX-Werte habe ich auch entsprechend angepasst. Code nur das Textfeld Tag genommen.

Private Sub spiTag_Change()
txtTagDatum.Value = Format(spiTag.Value, "##00")
End Sub
Das Feld habe ich jedoch beim Aufrufen einen Wert gegeben (Ende des jeweiligen Monats)

Private Sub UserForm_Initialize()
txtTagDatum.Value = Format(CDate(DateSerial(Year(Date), Month(Date), 0)), "DD")
End Sub
Mein Problem:
Ich ruf das Formular auf und sehe dann, das das Feld einen Anfangswert von 31 hat - das ista uch korrekt. Sobald ich dies mit dem Drehfeld nach unten auf 30 ändern möchte, klappt es nicht.
Es klppt nur dann, wenn ich ersteinmal einmal nach oben auf den ersten Tag klicke und dannach wieder zweimal nach unten drücke, also wieder auf dem 31. und dann auf den 30.
Kann man das vermeiden und direkt nach Abruf des Formulars auf dem 30. springen.
Danke vorab für eurer Antworten.

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Drehfeld Spinbutton
23.09.2015 00:25:12
Martin
Hallo Noureddine,
du musst beim UserForm-Initialize auch dem SpinButton den Value-Wert zuweisen:
Private Sub UserForm_Initialize()
txtTagDatum.Value = Format(CDate(DateSerial(Year(Date), Month(Date), 0)), "DD")
spiTag.Value = Format(CDate(DateSerial(Year(Date), Month(Date), 0)), "DD")
End Sub
Viele Grüße
Martin

Anzeige
AW: VBA Drehfeld Spinbutton
23.09.2015 16:36:46
Noureddine
super, danke hat geklappt...
;
Anzeige
Anzeige

Infobox / Tutorial

VBA Drehfeld mit SpinButton in Excel


Schritt-für-Schritt-Anleitung

Um ein Drehfeld (SpinButton) in einem Excel-Formular zu programmieren, gehe wie folgt vor:

  1. Erstelle ein neues UserForm:

    • Öffne den VBA-Editor (ALT + F11).
    • Füge ein neues UserForm hinzu.
  2. Füge die Steuerelemente hinzu:

    • Ziehe einen SpinButton und ein TextBox-Steuerelement in das UserForm.
  3. Konfiguriere die SpinButton-Eigenschaften:

    • Setze die Min und Max Werte entsprechend deinen Anforderungen (z.B. 1 bis 31 für die Tage).
  4. Code für den SpinButton:

    • Füge folgenden Code in den UserForm ein, um den Wert des TextBox mit dem SpinButton zu verknüpfen:
      Private Sub spiTag_Change()
      txtTagDatum.Value = Format(spiTag.Value, "##00")
      End Sub
  5. Initialisiere den UserForm:

    • Um den SpinButton beim Öffnen des Formulars auf einen bestimmten Wert zu setzen, füge diesen Code hinzu:
      Private Sub UserForm_Initialize()
      txtTagDatum.Value = Format(CDate(DateSerial(Year(Date), Month(Date), 0)), "DD")
      spiTag.Value = Format(CDate(DateSerial(Year(Date), Month(Date), 0)), "DD")
      End Sub
  6. Testen:

    • Starte das Formular und teste die Funktionalität des SpinButton. Du solltest jetzt direkt auf den letzten Tag des Monats springen können.

Häufige Fehler und Lösungen

  • Problem: Der SpinButton funktioniert nicht wie gewünscht.

    • Lösung: Stelle sicher, dass du den Value-Wert des SpinButtons im UserForm_Initialize korrekt setzt, wie im obigen Code gezeigt.
  • Problem: Der SpinButton springt nicht direkt auf den gewünschten Wert.

    • Lösung: Überprüfe die Min und Max Werte des SpinButtons. Diese sollten korrekt gesetzt sein, um die gewünschten Werte zu ermöglichen.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die Datenüberprüfung in Excel nutzen, um ein Dropdown-Menü für die Datumauswahl zu erstellen. Dies ermöglicht eine einfache Auswahl ohne Programmierung.

  1. Wähle die Zelle aus, in der du das Datum eingeben möchtest.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle "Liste" und gib die Tage als Liste (1, 2, 3, ..., 31) ein.

Praktische Beispiele

Ein praktisches Beispiel für das Excel Drehfeld programmieren könnte ein Monatskalender sein, bei dem du mit dem SpinButton durch die Tage navigieren kannst. Kombiniere den SpinButton mit anderen Steuerelementen, um eine komplette Anwendung zu erstellen.


Tipps für Profis

  • Nutze die Formatierung in VBA, um sicherzustellen, dass die Daten in einem benutzerfreundlichen Format angezeigt werden.
  • Experimentiere mit Ereignissen, um die Reaktionsfähigkeit des UserForms zu verbessern, z.B. mit der Click-Ereignisprozedur.

FAQ: Häufige Fragen

1. Wie kann ich den SpinButton anpassen?
Du kannst die Größe, Farbe und andere Eigenschaften des SpinButtons im Eigenschaftenfenster im VBA-Editor anpassen.

2. Was mache ich, wenn das Formular nicht korrekt angezeigt wird?
Überprüfe die Layout-Einstellungen im UserForm und stelle sicher, dass alle Steuerelemente korrekt platziert sind.

3. Kann ich mehrere SpinButtons in einem UserForm verwenden?
Ja, du kannst mehrere SpinButtons hinzufügen und jeden für unterschiedliche Eingabefelder konfigurieren. Achte darauf, jedem SpinButton eine eindeutige ID zu geben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige