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

Forumthread: Spinbutton für Datum

Spinbutton für Datum
Walter
Guten Abend,
ich habe eine Tabelle in C2 steht das Datum z.B.
01.01.2011 so: Jan 11 (mmm jj)
ich möchte das Datum veränder mittels Spinbutton nur in Monat.
Rauf und runter, wie geht das ?
mfg Walter K
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spinbutton für Datum
20.04.2011 22:02:12
Rudi
Hallo,
Private Sub SpinButton1_SpinDown()
[c2] = DateSerial(Year([c2]), Month([c2]) - 1, Day([c2]))
End Sub

Private Sub SpinButton1_SpinUp()
[c2] = DateSerial(Year([c2]), Month([c2]) - 1, Day([c2]))
End Sub

Gruß
Rudi
Anzeige
AW: Spinbutton für Datum
20.04.2011 22:15:09
Walter
Guten Abend Rudi,
habe dein Beispiel von Sepp genommen, da ich nicht weiß wie man
die 2 Makros,
mit dem SpinButtton verbinden sollte.
mfg walter K
Hauptsache dir ist geholfen. owT
20.04.2011 22:18:12
Rudi
AW: Spinbutton für Datum
20.04.2011 22:06:28
Josef

Hallo Walter,
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************
Option Explicit
Private Sub SpinButton1_Change()
  Range("C2") = DateSerial(2011, SpinButton1, 1)
End Sub



« Gruß Sepp »

Anzeige
Danke -)
20.04.2011 22:15:46
Walter
Guten Abend Sepp,
habe dein Beispiel genommen, da ich nicht weiß wie man
die 2 Makros,
mit dem SpinButtton verbinden sollte.
mfg walter K
Nachfrage Bitte
21.04.2011 08:16:45
walter
Guten Morgen Sepp,
was muß ich für Tag oder Jahresauswahl verändern ?
mfg Walter K
AW: Nachfrage Bitte
21.04.2011 08:56:14
robert
Hi,
na ein bisschen nachdenken.... ;-)
wofür steht 2011 ? (Jahr)
und wofür die 1 ? (Tag)
Gruß
robert
Anzeige
AW: Nachfrage Bitte DANKE !!!
21.04.2011 10:10:52
walter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spinbutton für Datum in Excel VBA nutzen


Schritt-für-Schritt-Anleitung

Um einen Spinbutton in einer Userform zu erstellen, der das Datum in einer Excel-Tabelle verändert, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Erstelle eine neue Userform, indem du im Projekt-Explorer mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "UserForm" wählst.
  3. Füge einen Spinbutton zur Userform hinzu. Du findest den Spinbutton in der Toolbox.
  4. Doppelklicke auf den Spinbutton, um das Codefenster zu öffnen.
  5. Füge den folgenden Code ein, um den Monat zu ändern:
Private Sub SpinButton1_Change()
    Range("C2").Value = DateSerial(Year(Range("C2").Value), SpinButton1.Value, Day(Range("C2").Value))
End Sub
  1. Um sicherzustellen, dass der Spinbutton die Monate richtig incrementiert und decretiert, füge die folgenden Subroutinen hinzu:
Private Sub SpinButton1_SpinUp()
    SpinButton1.Value = SpinButton1.Value + 1
End Sub

Private Sub SpinButton1_SpinDown()
    SpinButton1.Value = SpinButton1.Value - 1
End Sub
  1. Schließe den VBA-Editor und teste die Userform, um sicherzustellen, dass das Datum in C2 entsprechend geändert wird.

Häufige Fehler und Lösungen

  • Fehler: Der Spinbutton funktioniert nicht.

    • Lösung: Stelle sicher, dass die Userform korrekt geladen wird und dass der Spinbutton im Code mit SpinButton1 referenziert wird.
  • Fehler: Das Datum wird nicht korrekt angezeigt.

    • Lösung: Achte darauf, dass die Zelle C2 das richtige Datumsformat hat. Du kannst dies unter "Zellen formatieren" einstellen.

Alternative Methoden

Wenn du keinen Spinbutton verwenden möchtest, kannst du auch die folgenden Methoden in Betracht ziehen:

  • Formel-basierte Lösung: Verwende eine einfache Formel in einer Zelle, um den Monat zu erhöhen oder zu verringern.
  • Schaltflächen: Erstelle zwei Schaltflächen (z.B. „Monat erhöhen“ und „Monat verringern“) und verknüpfe sie mit Makros, die das Datum in C2 ändern.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den Spinbutton für unterschiedliche Datumsänderungen nutzen kannst:

  1. Monatsauswahl: Nutze den Spinbutton, um nur den Monat zu ändern.
  2. Jahresauswahl: Ändere die Logik im SpinButton1_Change Code, um auch das Jahr zu berücksichtigen:
Private Sub SpinButton1_Change()
    Range("C2").Value = DateSerial(SpinButton1.Value, Month(Range("C2").Value), Day(Range("C2").Value))
End Sub
  1. Tag auswählen: Um auch den Tag zu ändern, kannst du weitere Spinbuttons hinzufügen oder die bestehende Logik anpassen.

Tipps für Profis

  • Experimentiere mit den Eigenschaften des Spinbuttons, um die Minimum- und Maximum-Werte festzulegen, sodass der Benutzer nicht in ungültige Bereiche scrollt.
  • Füge eine Statusanzeige hinzu, die das aktuelle Datum darstellt, wenn der Benutzer den Spinbutton bewegt.
  • Nutze die UserForm_Initialize-Methode, um den Spinbutton mit dem aktuellen Monat und Jahr zu initialisieren.

FAQ: Häufige Fragen

1. Wie verbinde ich die beiden Makros mit dem Spinbutton? Du kannst die oben genannten Subroutinen direkt im Code des Spinbuttons einfügen.

2. Welche Excel-Version benötige ich für die Verwendung von Spinbuttons? Die Verwendung von Spinbuttons ist in Excel VBA ab Version 2007 möglich. Stelle sicher, dass du die Entwickleroptionen aktiviert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige