Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Autom. zu bestimmten Datum springen

Forumthread: Autom. zu bestimmten Datum springen

Autom. zu bestimmten Datum springen
18.02.2004 11:23:07
Florian
Hallo Excel-Fan's!
Ich habe eine Arbeitsblatt in der es eine Datumspalte gibt, die allerdings nicht immer Daten (Datumswerte) enthält (es sind Wochenblöcke die eine Überschrift besitzen und erst dann zum nächsten Block übergehen).
Da das Arbeitsblatt knappe 570 Zielen beinhaltet, würde ich gerne die Funktion einbauen, dass Excel immer automatisch in die Zeile mit dem aktuellen Datum springt ODER alternativ den aktuellen Block highlightet.
Hat jemand eine Idee?
Danke im voraus...
Gruss
Florian
P.S.: Das Datum hat das Format "18.02.04"
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Leider klappt keine der Lösungen
18.02.2004 12:25:41
Florian
Hallo Andreas,
vielen Dank für die schnelle Antwort.
Leider klappt keine der Lösungen.
Bei dem Macro:

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

gibt es in Zeile 2 einen Fehler.
Hat noch jemand eine Idee?
Anzeige
AW: Leider klappt keine der Lösungen
18.02.2004 12:28:22
Andreas Walter
dima a
ist falsch.
Richtig ist
dim a
Es passiert aber nichts...
18.02.2004 12:51:45
Florian
Hallo Andreas,
Leider passiert nichts...wenn ich die datei öffne dann bin ich immer noch am Anfang des Blattes (nicht das heutige datum).
Liegt es vielleicht daran, dass ich nicht nur Datumswerte in der Spalte habe?
gruss
Florian
Anzeige
AW: Es passiert aber nichts...
18.02.2004 12:56:13
AndreasS
Hi,
dass du da beim Öffnen willst, musst du posten
Das gehört in "DieseArbeitsmappe":

Private Sub Workbook_Open()
'Wenn Tabelle1 die richtige Tabelle ist, sonst anpassen
Sheets("Tabelle1").Activate
Call Datum
End Sub

Und in ein normales Modul:
Sub Datum()
Dim a As Date
a = Date
For i = 1 To 65336 'Bis zum Ende
'Bei cells solltest du noch die Spalte anpassen 1 = A, 2 = B usw.
If ThisWorkbook.Application.Cells(i, 1) = a Then
ThisWorkbook.Application.Cells(i, 1).Select 'Wenn nur ausgewählt werden soll
'Wenn farbliche Hinterlegung (Hochkomma entfernen):
'Selection.ColorIndex = 45
End If
Next i
End Sub

Gruß Andreas
Anzeige
nochmal ich, kleiner Fehler
18.02.2004 12:58:51
AndreasS
Es muss natürlich heißen:

Sub Datum()
Dim a As Date
a = Date
For i = 1 To 65336 'Bis zum Ende
'Bei cells solltest du noch die Spalte anpassen 1 = A, 2 = B usw.
If ThisWorkbook.Application.Cells(i, 1) = a Then
ThisWorkbook.Application.Cells(i, 1).Select 'Wenn nur ausgewählt werden soll
'Wenn farbliche Hinterlegung (Hochkomma entfernen):
Selection.Interior.ColorIndex = 45
End If
Next i
End Sub

Gruß Andreas
Anzeige
Ahh....
18.02.2004 13:20:40
Florian
Andreas...also erstmal aller besten Dank!
Es funktioniert...! Und die Markierung verschwindet dann auch automatisch (-wenn anderes Datum ist), ja? Werd ich morgen mal testen!
Dank Dir nochmal!
Gruss
Florian
AW: Ahh....
18.02.2004 13:29:44
AndreasS
Hi,
Makro alt leider nein, das schon:

Sub Datum()
Dim a As Date
a = Date
On Error Resume Next
Application.ScreenUpdating = False
For i = 1 To 500
If ThisWorkbook.Application.Cells(i, 1) = a Then
ThisWorkbook.Application.Cells(i, 1).Interior.ColorIndex = 45
ElseIf ThisWorkbook.Application.Cells(i, 1) <> a Then
ThisWorkbook.Application.Cells(i, 1).Interior.ColorIndex = xlNone
End If
Next i
Application.ScreenUpdating = True
End Sub

Gruß Andreas
Anzeige
Hmm...
18.02.2004 14:30:21
Florian
Hmm, das dumme ist, das man das macro ja jetzt gar nicht testen kann. Morgen vielleicht.
Ich habe mal die Farbe geändert und dann erneut ausgeführt - die Farbe hat sich nicht geändert. Vielleicht ein Zeichen das es nicht geht. Ich werde es morgen noch mal versuchen!
Gruss
Florian
AW: Hmm...
18.02.2004 15:01:49
AndreasS
Hi, zum testen:
Datum ist jetzt einen Tag vorher, wenn -> a = Date - 1. Dann einfach auf a = Date zurücksetzten. So kannst es testen. Läuft! Viel Erfolg.

Sub Datum()
Dim a As Date
'Datum ist jetzt einen Tag vorher
a = Date - 1
On Error Resume Next
Application.ScreenUpdating = False
For i = 1 To 500
If ThisWorkbook.Application.Cells(i, 1) = a Then
ThisWorkbook.Application.Cells(i, 1).Interior.ColorIndex = 45
ElseIf ThisWorkbook.Application.Cells(i, 1) <> a Then
ThisWorkbook.Application.Cells(i, 1).Interior.ColorIndex = xlNone
End If
Next i
Application.ScreenUpdating = True
End Sub

Gruß Andreas
Anzeige
AW: Hmm...
19.02.2004 08:28:58
FLorian
Ja...klappt wirklich!
Vielen Dank Andreas.
In welchen Teil des MAcros wird bestimmt wo der Bildschirmausschnitt dann letztendlich steht? Ich bin jetzt schon ziemlich tief auf dem Bildschirm, besser wäre natürlich wenn
die aktuelle Zeile immer, sagen wir mal, im obersten Drittel stehen würde!
Gruss
Florian
Anzeige
AW: Hmm...
19.02.2004 08:35:01
AndreasS
Morgen,
wie meinst du das mit dem Bildschirmausschnitt? Das Makro läuft solange durch, bis es die letzte Zelle mit dem aktuellen Datum gefunden hat. Da bleibt der Bildschirm dann stehen... Meinst du das? Willst du die erste Zelle angezeigt haben?
In welcher Spalte steht eigentlich dein Datum?
Gruß Andreas
Anzeige
Guten morgen erstmal!
19.02.2004 09:06:37
Florian
Guten morgen Andreas,
also das Datum steht in Spalte B, wie gesagt es stehen aber nicht nur Datumswerte drin. Soviel dazu.
Nee, ich meine nur ob man es einstellen kann, das die aktuelle Zeile (also mit dem vom Macro ausgewählten aktuellen Datum) sagen wir mal immer im obersten Drittel des Bildschirms steht.
Das ist jetzt zwar nur noch Spielerei, aber es z.B. zur Zeit so das das aktuelle Datum ziemlich weit unten steht und man viel von den vergangenen Tagen sieht.
Wie gesagt, nur ein Schönheitsfehler!
Ansonsten funktioniert Dein Macro hervorragend!
Danke nochmals.
Gruss
Florian
Anzeige
AW: Guten morgen erstmal!
19.02.2004 09:22:33
AndreasS
Morgen Florian,
wie wäre es, wenn du mal deine Mappe hochladen würdest. Die unwichtigen Spalten kannst du ja löschen, wenn es sich um Daten handelt, die niemand etwas angehen...
So wie ich es jetzt verstehe möchtest du die anderen Zeilen, in denen nicht das aktuelle Datum steht ausblenden? Oder nur einen Ausschnitt anzeigen?
Man könnte auch eine 2.Tabelle erstellen, in der nur das aktuelle Datum angezeigt wird.
Diese wird dann jeden Tag (aktuell) angezeigt.
Wenn du mir nochmals genau beschreibst was du willst (eventuell Bsp.Mappe) kann ich dir es programmieren oder beschreiben was du machen kannst.
Gruß Andreas
Anzeige
AW: Guten morgen erstmal!
19.02.2004 09:47:40
Florian
Schick mir mal Deine mail-Adresse -> florian.roehr@gmx.de
AW: Leider klappt keine der Lösungen
18.02.2004 12:52:35
AndreasS
Hi,
habs dir angepaßt und kommentiert:

Sub Datum()
Dim a As Date
a = Date
'Bis zum Ende
For i = 1 To 65336
'Bei cells solltest du noch die Spalte anpassen 1 = A, 2 = B usw.
If ThisWorkbook.Application.Cells(i, 1) = a Then
'Wenn nur ausgewählt werden soll
ThisWorkbook.Application.Cells(i, 1).Select
'Wenn farbliche Hinterlegung (Hochkomma entfernen):
'Selection.ColorIndex = 45
End If
Next i
End Sub

Gruß Andreas
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Automatisches Springen zu einem bestimmten Datum in Excel


Schritt-für-Schritt-Anleitung

Um in Excel zu einem bestimmten Datum zu springen, kannst Du ein VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Private Sub Workbook_Open()
       ' Wenn Tabelle1 die richtige Tabelle ist, sonst anpassen
       Sheets("Tabelle1").Activate
       Call Datum
    End Sub
    
    Sub Datum()
       Dim a As Date
       a = Date
       On Error Resume Next
       Application.ScreenUpdating = False
       For i = 1 To 65336 ' Bis zum Ende
           If ThisWorkbook.Application.Cells(i, 1) = a Then
               ThisWorkbook.Application.Cells(i, 1).Interior.ColorIndex = 45 ' Farbe für das aktuelle Datum
           ElseIf ThisWorkbook.Application.Cells(i, 1) <> a Then
               ThisWorkbook.Application.Cells(i, 1).Interior.ColorIndex = xlNone
           End If
       Next i
       Application.ScreenUpdating = True
    End Sub
  4. Speichere die Datei als Makro-aktivierte Arbeitsmappe (.xlsm).

  5. Schließe den VBA-Editor und teste das Makro, indem Du die Datei schließt und erneut öffnest. Excel wird beim Öffnen auf das aktuelle Datum springen oder es hervorheben.


Häufige Fehler und Lösungen

  • Makro wird nicht ausgeführt: Stelle sicher, dass Du die Datei als Makro-aktivierte Arbeitsmappe gespeichert hast. Prüfe auch, ob Makros in Deinen Excel-Einstellungen aktiviert sind.

  • Falsches Datum wird hervorgehoben: Überprüfe, ob die Datumswerte im richtigen Format (z.B. "18.02.04") vorliegen. Wenn nicht, kann Excel das Datum möglicherweise nicht korrekt erkennen.

  • Excel springt nicht zu dem Datum: Vergewissere Dich, dass Du das Makro in DieseArbeitsmappe eingefügt hast. Wenn Du mehrere Tabellen hast, dann passe den Tabellennamen im Code an.


Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du auch die Filterfunktion nutzen:

  1. Wähle die Datumsspalte aus.
  2. Klicke auf Daten > Filter.
  3. Setze einen Filter auf die Datumsspalte und wähle das aktuelle Datum aus.

Diese Methode ist jedoch weniger automatisiert und erfordert manuelle Eingaben.


Praktische Beispiele

  • Beispiel 1: Wenn Du ein Arbeitsblatt hast, das wöchentlich aktualisiert wird, kannst Du das VBA-Makro so anpassen, dass es auch die letzte Zeile mit dem aktuellen Datum markiert.

  • Beispiel 2: Du kannst zusätzliche Bedingungen einfügen, um nur bestimmte Zeilen hervorzuheben, beispielsweise nur die Zeilen, die ein bestimmtes Kriterium erfüllen (z.B. Status "Aktiv").


Tipps für Profis

  • Optimierung der Performance: Wenn Du große Datenmengen hast, verwende Application.ScreenUpdating = False, um die Ausführungsgeschwindigkeit des Makros zu erhöhen.

  • Farben anpassen: Du kannst die ColorIndex-Eigenschaft anpassen, um verschiedene Farben für unterschiedliche Status oder Bedingungen zu verwenden.

  • Anpassung für spezifische Spalten: Stelle sicher, dass Du die Spalte im Code anpasst, falls Deine Datumswerte nicht in Spalte A sind.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass Excel beim Öffnen auf das aktuelle Datum springt? Um sicherzustellen, dass Excel beim Öffnen auf das aktuelle Datum springt, musst Du das Makro in DieseArbeitsmappe einfügen und die Datei als makroaktiv speichern.

2. Funktioniert dieses Makro in allen Excel-Versionen? Das vorgestellte Makro sollte in den meisten modernen Excel-Versionen (Excel 2010 und später) problemlos funktionieren. Achte darauf, dass Du die Makro-Sicherheitseinstellungen überprüfst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige