Clever-Excel-Forum

Normale Version: VBA - Auf jeweiligen Monat springen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hey Leute!

Ich habe bereits mit google ein wenig recherchiert, konnte aber keinen funktionierenden Ansatz finden.

Ich habe eine Tabelle, welche in der 10. Zeile den Monat im folgenden Format hat:
01.01.2018

Ich würde nun gerne mit 12 Buttons auf den entsprechenden Monat springen.
Wie ist dies handzuhaben?




Beste Grüße
Hallo,

z.B. so:
Activesheet.Range("10:10").Find(#1/1/16#).Select

Das Datum kann z.B. in eine Variable gespeichert werden, dann kann man den gleichen Code für alle Buttons verwenden, z. B. so:
Function GeheZuDatum(Datum as Date)
Activesheet.Range("10:10").Find(Datum).Select
End Function
Hallo joshua

das geht m.E. viel einerfacher wenn du das Datum in der Zelle mit einem Hyperlink zum Ziel-Blatt verbindest.
Datum anklicken, der Hyperlink springt in die entsprechende Tabelle. Normalerweise auf A1, kann man selbst festlegen!

mfg  Gast 123
(10.01.2018, 10:27)Gast 123 schrieb: [ -> ]das geht m.E. viel einerfacher wenn du das Datum in der Zelle mit einem Hyperlink zum Ziel-Blatt verbindest
Dann muss aber das jeweilige Datum immer in der gleichen Zelle stehen.
Funktioniert die Hyperlink Variante auch mit Buttons?
Mittels Button auf eine fixe Spalte springen?
Nein, ein Hyperlink wird entweder direkt oder per Formel in eine Zelle gesetzt. Diese kannst Du aber so formatieren, dass diese aussieht wie ein Button.
Ok, vielen Dank.
Dann fällt diese Variante raus, da ich in 4x2 Zellen 12 Buttons einpflegen muss/ möchte.

Zu diesem Ansatz:
Wie kann ich die Variable pro Button deklarieren?
Also die Function als generische Funktion, aber wie wird den jeweiligen Buttons der entsprechende Monat als Variable deklariert?
Was für Buttons willst Du denn einfügen? Formularsteuerelemente oder ActiveX?

Wo in der Tabelle steht denn die Jahreszahl oder ein Datum (an einer festen Stelle)?

Ich würde die Buttons mit den jeweiligen Monatsnamen beschriften und dann daraus mit CDate ein Datum generieren

Bei ActiveX: Funktion mit dem Datum in dessen Code aufrufen.

Bei Formularsteuerelement: Hier ist sowieso eine Verknüpfung mit einem Makro nötig. Hier würde ich das ganze in ein Makro packen und den Namen aufrufenden Button ermittlen (mit Application.Caller) um daraus das Datum zu ermitteln.
Vielen Dank für deinen Beitrag.

Es soll mit den klassischen Steuerelementen gearbeitet werden.
Dies wollte ich mit Jan, Feb ...  betiteln.


Habe nie mit CDate gearbeitet.
Kann mir da einer weiterhelfen?

Anbei findet sich auch eine Musterdatei.



Besten Dank.

[attachment=15431]
Diesen Code in ein Modul:
Code:
Sub Springen()
     ActiveSheet.Range("10:10").Find(CDate("1. " & ActiveSheet.Buttons(Application.Caller).Caption & " " & Year(Range("E10")))).Select
End Sub
Dann für alle Monate einen Button erstellen, benennen und dieses Makro (Springen) zuweisen. Bitte nicht einen vorhandenen Button kopieren, da gibt es mW Probleme (dann musst Du den Namen der Schalfläche manuell auf eine eindeutige Bezeichnung anpassen).

Aber Achtung beim benennen der Schaltflächen! Es müssen die korrekten deutschen Abkürzungen verwendet werden (z. B. für März -> Mrz).
Seiten: 1 2 3