Drehrad oder sonstige einfache Eingabe für Monats- / Tageszahlen
#1
Hallo zusammen,

um ganz einfach und schnell ein Datum zu ändern, habe ich in einer Datei folgende Drehfelder.
   

Wenn ich dort im Monat oben bei 12 angekommen bin, muß ich ja immer wieder auf den runter-Button klicken, bis ich wieder auf der 1 bin.
Gibt es eine Lösung, daß ich einfach weiterklicke, um nach der 12 (analog 31) auf die 1 zu kommen?
Gerne auch mit einem anderen Steuerelement.

Beispiel:

.xlsx   Tag, Monat - fortlaufend weiterzählen.xlsx (Größe: 21,01 KB / Downloads: 9)

Gruß Ralf
Antworten Top
#2
Hi Ralf 

zeig bitte per Upload eine Excel-Bsp-Datei mit allem, was erforderlich ist.

Ciao
Thorsten
Antworten Top
#3
Hallo,

ermittel doch den Monat mittels =Rest(Zahl-1;12)+1
Gruß
Michael
Antworten Top
#4
Hallo Ralf

interessant mal wieder einen Thread von dir im Forum zu sehen.  Wie gefällt dir meine Lösung??
Es gibt einen kleinen Fehler beim Rückwärtszählen, da springt er vom 1.1.xx auf den 30.12.xx
Die anderen Tage sollten stimmen.  Schaltjahr 29.2. klappte nicht.  Kannst du damit leben?? 

Der Spinner für Tage muss auf Min=0 und Max=32 eingestellt sein.
Der Spinner für Monat muss auf Min=0 und Max=13 eingestellt sein.
Unten noch der Code für interessierte.

mfg Gast 123

Code:
Dim Tag, Monat, Jahr

Sub Tages_Spinner_auswerten()
   Tag = Range("Q3")
   Monat = Range("Q2")
   Select Case Range("Q2")
   Case 2
        If Month(Range("P3")) = 3 Then
           Range("Q3").Value = 1
           Range("Q2").Value = 3
        ElseIf Month(Range("P3")) = 1 Then
           Range("Q3").Value = 28
           Range("Q2").Value = 1
        End If
   Case 1, 3, 5, 7, 8, 10, 12
       If Range("Q3").Value = 32 Then
          Range("Q3").Value = 1
          Range("Q2").Value = Monat + 1
       ElseIf Range("Q3").Value = 0 Then
          Range("Q3").Value = 30
          Range("Q2").Value = Monat - 1
          If Range("Q2") = 2 Then _
             Range("Q3").Value = 28
       End If
   Case 4, 6, 9, 11
       If Range("Q3").Value >= 31 Then
          Range("Q3").Value = 1
          Range("Q2").Value = Monat + 1
       ElseIf Range("Q3").Value = 0 Then
          Range("Q3").Value = 31
          Range("Q2").Value = Monat - 1
       End If
   End Select
   
   If Range("Q2") = 0 Or Range("Q2") = 13 Then _
      Monat_Spinner_auswerten
End Sub



Sub Monat_Spinner_auswerten()
   Jahr = Range("Q1")
   If Range("Q2") = 13 Then
      Range("Q1").Value = Jahr + 1
      Range("Q2").Value = 1
   ElseIf Range("Q2") = 0 Then
      Range("Q1").Value = Jahr - 1
      Range("Q2").Value = 12
   End If
End Sub


Angehängte Dateien
.xls   Tag, Monat - fortlaufend weiterzählen.xls (Größe: 31 KB / Downloads: 10)
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Rabe
Antworten Top
#5
Hallo Ralf,

setze doch einfach die Maximalwerte von Tag und Monat auf 30000.

Gruß, Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Rabe
Antworten Top
#6
Moin und sorry!
Das ist doch eine Schnapsidee!
Was soll passieren, wenn bei eingestelltem Tag 30 der Monat von 1 auf 2 geändert wird?
Warum sollte man jemals die Maus nutzen um schnell ein gültiges Datum einzugeben?
Nach kurzer Schulung weiß jeder Nutzer, dass nur der Nummernblock benötigt wird:
• 7-8 ergibt den 07.08.2024
• ein abweichendes Jahr wird so eingegeben: 2-5-25 → 02.05.2025

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Rabe
Antworten Top
#7
(11.06.2024, 19:05)RPP63 schrieb: Warum sollte man jemals die Maus nutzen um schnell ein gültiges Datum einzugeben?

Wo hast Du das gelesen mit der Maus, Ralf?

Gruß, Uwe
Antworten Top
#8
Zwischen den Zeilen, oder eher doch direkt im Kontext, Uwe! Wink
Zitat:muß ich ja immer wieder auf den runter-Button klicken
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Hallo Gast,

ja, leider habe ich schon eine ganze Weile nicht mehr die Zeit für das Forum.

Vielen Dank für Deine Ideen und das Makro, das klappt hervorragend.
Es ist sogar noch besser, als mein Auftraggeber sich gewünscht hat, da auch der Monat und das Jahr gewechselt wird, wenn der Tag die jeweilige Grenze überschreitet.

Gruß Ralf

Hallo Uwe,
stimmt, so geht es auch. Da ist dann halt in der Hilfszelle Q3 keine richtige Tageszahl drin.
Aber die Anzeige stimmt.

Gruß Ralf

Hallo Ralf,

ja, das ist mit dem Zahlenblock auch sehr einfach.
Nur wollte der Auftraggeber halt die Eingabe mit der Maus, weil in der Originaldatei fast alles mit der Maus erfolgt und dann nicht zur Tastatur gewechselt werden muß.

Gruß Ralf
Antworten Top
#10
Da braucht man doch gar kein Makro, da reicht es wenn man das Datum mittels der gleichnamigen Funktion anhand der mit den Drehfeldern verknüpften Zellen ermittelt...
Gruß
Michael
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste