In Excel zum aktuellen Datum springen?

2 Antworten

Hallo,

Versuchs mal damit.

Code einfügen unter VBA "Diese Arbeitsmappe". Datum muß in Spalte C stehen.

Private Sub Workbook_Open()
    Dim Suchbegriff As Range
    Set Suchbegriff = Range("C:C").Find(What:=Date, LookAt:=xlWhole)
    If Suchbegriff Is Nothing = False Then _
    Range(Suchbegriff.Address).Activate
End Sub

by http://www.herber.de/forum/archiv/372to376/374764_beim_Oeffnen_zum_aktuellen_Datum_springen.html

Woher ich das weiß:Berufserfahrung – Hauptberuflicher IT Dienstleister ;)

DerStarDusT 
Beitragsersteller
 30.01.2018, 11:01

Hab den Fehler gefunden, recht weit oben stand einfach nur "2018" , daher ist Excel immer nur nach dort gesprungen. Und übrigens, ich hätte vielleicht erwähnen sollen, dass ich nie zuvor mit VBA oder Excel Makros gearbeitet habe. Trotzdem danke...

0
PixL86  30.01.2018, 11:02
@DerStarDusT

Oh. Jap, das hatte ich vorrausgesetzt bei so einer Frage.

Gut dass es sich geklärt hat und wir eine Lösung für Dich hatten. :)

Viel Spass!

0
DerStarDusT 
Beitragsersteller
 30.01.2018, 08:51

Hatte es schonmal mit dem code versucht, funktioniert leider nicht (Code ist von 2004, Excel Version ist Excel 2010)

0
PixL86  30.01.2018, 08:52
@DerStarDusT

Eben mit Excel 2013 und 16 probiert. Funktioniert einwandfrei.

0
DerStarDusT 
Beitragsersteller
 30.01.2018, 08:56
@PixL86

Hmm liegt dann wohl an meinem Excel Sheet

0
PixL86  30.01.2018, 08:57
@DerStarDusT

Nö, eher daran dass Du dich mit der Materie nicht befassen möchtest.

Nachdem Du den Code ins "Diese Arbeitsmappe" gepackt hast, speichern (VBA) anschließend zu Excel wechseln und die Mappe als XLSM speichern! - Nur dann werden Makros bei Start ausgeführt.

0
Suboptimierer  30.01.2018, 09:01
@DerStarDusT

Auf "funktioniert nicht" kann man schlecht eine Fehleranalyse aufbauen. Du müsstest schon die Fehlermeldung nennen oder die Stelle, an der der Interpreter aussteigt.

Vergleich das einmal mit irgendetwas anderem, zum Beispiel einem Auto. Ich schreibe dir "Mein Auto funktioniert nicht". Könntest du anhand dieser Information herausfinden, welches Problem mein Auto hat?

Der Code sieht jedenfalls auf dem ersten Blick sauber aus. Vom Prinzip her entspricht das der Variante von Eismensch, nur in einer etwas abgespeckten Ausführung.

1

Nativ kann es Excel nicht. Also es gibt keine einfache Funktion "spring immer da hin". Excel ist nun mal eine Tabellenkalkulation und kein Urlaubsplaner ;)

Das bedeutet aber natürlich nicht, dass es unmöglich ist. Mit ein wenig VBA kannst du dir dein eigenes Event basteln.

Hier mal was, das ich nach 20 Sekunden googeln gefunden habe:

Add a worksheet active event in each worksheet:

Private Sub Worksheet_Activate()
    Dim FindString As Date
    Dim Rng As Range
    FindString = CLng(Date)
    With Rows("3:3")
        Set Rng = .Find(What:=FindString, _
                        After:=.Cells(.Cells.Count), _
                        LookIn:=xlFormulas, _
                        LookAt:=xlWhole, _
                        SearchOrder:=xlByRows, _
                        SearchDirection:=xlNext, _
                        MatchCase:=False)
        If Not Rng Is Nothing Then
            Application.Goto Rng, True
        Else

'Give a message that todays date was not found

            MsgBox "Nothing found"
        End If
    End With
End Sub

Thus, when the user select the worksheet the code will run and find todays date in row 3.

Ich selbst bin mit VBA nicht sehr vertraut, aber das sieht richtig aus. Vielleicht ein paar kleinere Anpassungen. Wenn du dich damit nicht auskennst, wirst du die Dokumentation dazu ebenfalls online finden. Dort ist dann beschrieben was welcher Befehl macht.