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

Forumthread: SpinButton Up Down / Datum

SpinButton Up Down / Datum
25.10.2021 12:55:11
Andreas
Hallo alle zusammen,
ich habe eine Frage bezüglich des SPIN-Buttons.
In einem Feld auf dem Sheet "Tagebuch" steht in Zelle C4 ein Datum.
Ich würde gerne mit einem SpinButton ActiveX Steuerfeld dieses Datum hoch und runter zählen lassen. Allerdings darf dabei das Datum nicht über das "heutige" Datum hinausgehen. Zurückliegend darf er immer nur bis zum 01.01. des Jahres zurück. Kommt man über die Grenzen hinaus soll eine Mldung erfolgen.
Leide rbekomme ich das irgendwie nicht gebacken. Kann mir da vielleicht jemand helfen?
Der SpinButton heisst Button_Drehfeld.
Vielen Dank für Eure Unterstützung.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SpinButton Up Down / Datum
25.10.2021 13:42:34
UweD
Hallo
Ohne die Meldung.
Bei den Grenzen wird automatisch gestoppt

Private Sub SpinButton2_GotFocus()
With SpinButton2
.Max = CLng(Date)
.Min = CLng(CDate("1.1." & Year(Date)))
End With
End Sub
LG UweD
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

SpinButton für Datum in Excel verwenden


Schritt-für-Schritt-Anleitung

Um einen SpinButton in Excel VBA zu erstellen, der ein Datum hoch und runter zählt, gehe folgendermaßen vor:

  1. ActiveX-Steuerelement hinzufügen:

    • Öffne Excel und gehe zu dem Blatt „Tagebuch“.
    • Aktiviere die Entwicklertools, falls sie nicht sichtbar sind (Datei > Optionen > Menüband anpassen > Entwicklertools aktivieren).
    • Wähle im Entwicklertools-Tab „Einfügen“ und füge ein „SpinButton“-Steuerelement (ActiveX) hinzu.
  2. SpinButton konfigurieren:

    • Klicke mit der rechten Maustaste auf den SpinButton und wähle „Eigenschaften“.
    • Setze den Namen auf Button_Drehfeld.
  3. VBA-Code hinzufügen:

    • Klicke mit der rechten Maustaste auf das Sheet „Tagebuch“ und wähle „Code anzeigen“.
    • Füge folgenden VBA-Code ein:
    Private Sub Button_Drehfeld_Change()
        Dim aktuellesDatum As Date
        aktuellesDatum = Range("C4").Value
    
        ' SpinButton anpassen
        If Button_Drehfeld.Value = 1 Then
            If aktuellesDatum < Date Then
                Range("C4").Value = aktuellesDatum + 1
            End If
        ElseIf Button_Drehfeld.Value = -1 Then
            If aktuellesDatum > DateSerial(Year(Date), 1, 1) Then
                Range("C4").Value = aktuellesDatum - 1
            End If
        End If
    End Sub
    
    Private Sub Button_Drehfeld_GotFocus()
        With Button_Drehfeld
            .Max = 1 ' Hochzählen
            .Min = -1 ' Runterzählen
        End With
    End Sub
  4. Testen:

    • Wechsle zurück zu Excel, aktiviere den Entwurfsmodus und teste den SpinButton.

Häufige Fehler und Lösungen

  • Fehler: SpinButton funktioniert nicht:

    • Stelle sicher, dass der Entwurfsmodus deaktiviert ist.
  • Fehler: Datum über die Grenzen hinaus:

    • Überprüfe, ob die Min- und Max-Werte im Code korrekt gesetzt sind.
  • Fehler: Zelle C4 zeigt keine Werte an:

    • Vergewissere dich, dass C4 die richtige Datumsformatierung hat.

Alternative Methoden

Wenn du keine ActiveX-Steuerelemente verwenden möchtest, kannst du auch Formeln und einfache Schaltflächen nutzen:

  1. Formelbasierte Lösung:

    • Verwende eine Dropdown-Liste mit Werten für Tage und verbinde diese mit einer Zelle, die das Datum anzeigt.
  2. Schaltflächen:

    • Füge zwei Schaltflächen hinzu (eine für „Hoch“ und eine für „Runter“) und verlinke diese mit Makros, die das Datum in Zelle C4 ändern.

Praktische Beispiele

  • Beispiel 1: Verwendung des SpinButtons für die Auswahl von Geburtstagen, wobei das Datum nicht über das aktuelle Jahr hinaus geht.
  • Beispiel 2: Ein Tracking-Dashboard, in dem der SpinButton das Datum für die Anzeige von Verkaufszahlen anpasst.

Tipps für Profis

  • Nutze die Application.EnableEvents-Eigenschaft im VBA-Code, um das Auslösen von Events während der Datumseingabe zu steuern.
  • Experimentiere mit benutzerdefinierten Formaten in der Zelle, um das angezeigte Datum ansprechender zu gestalten.

FAQ: Häufige Fragen

1. Kann ich den SpinButton auch in einer UserForm verwenden?
Ja, du kannst den SpinButton auch in einer UserForm verwenden. Der Code muss jedoch entsprechend angepasst werden.

2. Wie kann ich den SpinButton zurücksetzen?
Du kannst eine zusätzliche Schaltfläche hinzufügen, die den Wert des SpinButtons auf 0 zurücksetzt und das Datum auf ein Standarddatum setzt.

3. Funktioniert das auch in Excel 365?
Ja, die beschriebene Methode funktioniert in Excel 365 und in früheren Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige