In einer Datei steht in der 1. Spalte das Datum von 01.01.2004 - 31.12.2004
(A4-A369). Ich suche nach einem Makro mit dem ich immer auf das aktuelle Datum springen kann.
Weiß jemand wie das geht?
Danke schonmal im voraus!
Silvie
Sub main()
dima a
a = date
for i = 1 to 369
if thisworkbook.application.cells(i,1) = a then
thisworkbook.application.cells(i,1).select
else
endif
next i
End Sub
Um in einer Excel-Datei mit einem Datum von 01.01.2004 bis 31.12.2004 direkt auf das aktuelle Datum zu springen, kannst Du ein VBA-Makro verwenden. Befolge diese Schritte:
Öffne Excel und lade die Datei, die die Datumswerte enthält.
Drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Klicke auf Einfügen
in der Menüleiste und wähle Modul
, um ein neues Modul zu erstellen.
Kopiere den folgenden Code in das Modul:
Sub springeZuHeutigemDatum()
Dim a As Date
a = Date
For i = 4 To 369
If ThisWorkbook.Application.Cells(i, 1) = a Then
ThisWorkbook.Application.Cells(i, 1).Select
Exit Sub
End If
Next i
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Drücke ALT + F8
, wähle springeZuHeutigemDatum
aus und klicke auf Ausführen
.
Nun springt Excel automatisch zur Zelle mit dem aktuellen Datum.
Fehler: Das Makro funktioniert nicht.
Fehler: Excel springt nicht zur richtigen Zelle.
Neben dem oben genannten Makro gibt es auch andere Möglichkeiten, um zu dem aktuellen Datum zu springen:
Mit einer Formel: Du kannst die VERGLEICH
-Funktion verwenden, um die Zeilennummer des aktuellen Datums zu finden.
=VERGLEICH(HEUTE(); A4:A369; 0)
Mit dem Find
-Befehl: Du kannst den folgenden VBA-Code verwenden, um ebenfalls zu dem aktuellen Datum zu springen:
Range("A4:A369").Find(what:=Date()).Select
Beispiel 1: Du hast eine Datumsreihe in Spalte A von A4 bis A369. Mit dem oben genannten Makro kannst Du direkt zu dem Datum springen, das mit dem heutigen Datum übereinstimmt.
Beispiel 2: Wenn Du mehrere Jahre in einer Datei hast, kannst Du das Makro leicht anpassen, um das aktuelle Jahr zu berücksichtigen.
Verwende Application.Match
: Ein alternativer Ansatz zur Verwendung des Find
-Befehls könnte so aussehen:
ActiveWindow.ScrollRow = Application.Match(Date, ActiveSheet.Columns(1), 1)
Makros in der Schnellzugriffsleiste hinzufügen: Du kannst das Makro zur Schnellzugriffsleiste hinzufügen, um es schneller auszuführen.
1. Wie kann ich das Makro speichern, damit ich es in zukünftigen Dateien verwenden kann?
Du kannst das Makro in einer persönlichen Makroarbeitsmappe speichern, die beim Start von Excel geladen wird.
2. Funktioniert das Makro in Excel 2021?
Ja, das Makro funktioniert in Excel 2021 sowie in früheren Versionen, die VBA unterstützen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen