Clever-Excel-Forum

Normale Version: Monate mit Spinbutton wechseln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag zusammen,

ich habe hier und im Internet schon gesucht, bin aber nicht fündig geworden.

Ich hätte gerne einen Spinnbutton wo ich die Monate ändern kann. Mit den Jahren war es natürlich ganz einfach.

Ich möchte die Monate auch nicht 1-12 haben, sondern Januar bis Dezember als Text, da anschließend Monat und Jahr über Datwert in H6 verkettet sind. Schön wäre es auch, wenn man im Dezember angekommen ist und den Spinnbutton_Up drückt, er auf Januar springt bzw. auch umgekehrt Spinbutton_Down von Dezember nach Januar.

Das mit dem Datwert ist natürlich nicht in Stein gemeißelt. Nur das H6 sich Monat und Jahr aus A4:D4 holen soll.

Monat und Jahr sollen unabhängig von einander geändert werden können.

Schon mal vorab danke für eure Zeit und mühe.
Moin!
Das Kardinalproblem an Deiner Idee ist, dass sich der Wertebereich H8:AL38 entweder nicht löscht oder unwiederbringlich verloren ist.
Such Dir was aus dem Dilemma aus!

(Nur) zu Deiner Frage:
• Minimal: 30
• Maximal: 360
• Schrittweite: 30
• Ausgabezelle formatieren mit MMMM
Mach was draus! Wink

Gruß Ralf
Hi

Welchen Sinn verfolgst du mit der Vorlage. Was soll mit den Daten in der Tabelle passieren wenn du den Monat wechselst? Oder sind die jeden Monat gleich?

Gruß Elex
Hallo Benjamin,

mein Vorschlag:

- entferne die Zellverknüpfungen der Drehfelder
- formatiere A4 benutzerdefiniert mit MMMM
- formatiere D4 benutzerdefiniert mit JJJJ
- setze Minimum des Drehfeldes für Monat auf 0, Maximum auf 13 und Schrittweite auf 1
- Formel in D4: =A4
- Formel in H6: =A4
- weise den Drehfeldern entsprechende Makros zu:
Code:
Sub Drehfeld9_BeiÄnderung()
'Drehfeld Monat
  Static bolStop As Boolean
  If Not bolStop Then
    bolStop = True
    With Tabelle1.Spinners(Application.Caller)
      .Parent.Range("A4").Value = DateSerial(Year(.Parent.Range("A4").Value), .Value, 1)
      .Value = Month(.Parent.Range("A4").Value)
    End With
    bolStop = False
  End If
End Sub

Sub Drehfeld5_BeiÄnderung()
'Drehfeld Jahr
    With Tabelle1.Spinners(Application.Caller)
      .Parent.Range("A4").Value = DateSerial(.Value, Month(.Parent.Range("A4").Value), 1)
    End With
End Sub

[attachment=42625]

Gruß Uwe
Hallo RPP63 und Elex,

Der Bereich H8:AL38 soll auch nicht gelöscht werden, denn es eine Zeitverfolgung die dann so gespeichert wird.
Neuer Monat bedeutet auch eine neue Datei. Aber ich habe keine Lust mir die Wochenenden und Freitage immer wieder neu zu Makieren. Das habe ich halt über die bedingte Formatierung gelöst. Ändert sich der Monat oder das Jahr passt sich das entsprechend an. Und wer macht nicht lieber nur einen oder zwei klicks statt zu schreiben.

@RPP63: Das werde ich mal versuchen. Mit der Schrittweise hatte ich auch schon mal überlegt, aber ohne den Rest und dann war das Startdatum ja direkt 01.01.1900. Mal sehen ob ich das so hin bekomme. Oder später doch noch mal nachfragen muss.

Vielen Dank an Kuwer,

dein Vorschlag hat genau das gemacht was es soll. Sogar nur mit einem Spinnbutton. Lass es einfach weg mit dem Jahr und Monat getrennt von einander ändern.


p.s: Gerade gesehen das der Code ja weiter ging. 33
Verbundene Zellen schau ich nicht an.