Ich habe eine Tabelle, die im Prinzip eine Terminplanerfunktion hat.
D.h., es sind in tabellarischer Form Besuchtermine mit diversen Zusatzinformationen enthalten. Der Zeitraum umfaßt ein Jahr. In Spalte A habe ich jeweils in jeder zweiten Zeile das Tagesdatum. Beispiel:
Zelle A10=24.09.2008; Zelle A12=A10+1(ergibt 25.09.2008). Das heißt, die Zellen enthalten nur ein gerechnetes Datum. Wenn ich jetzt die Datei speichere, wird sie danach wieder mit der gleichen Ansicht geöffnet. Das kann ein Datum in ferner Zukunft sein. Beim Öffnen möchte ich aber möglichst ohne langes Scrollen das aktuelle Datum sehen. Über „Suche“ kann ich aber nicht dorthin springen, da der Feldinhalt für das gesuchte Datum ja kein Datum sondern eine Formel ist. What can I do?
Muster:
Spalte A
Zeile 37 13.10.2008
Zeile 38 =A39 formatiert als Wochentag zu nachfolgender Zeile
Zeile 39 =A37+1 errechnetes Datum aus vorvoriger Zeile
Zeile 40 =A41
Zeile 41 =A39+1
Zeile 42 =A43
Zeile 43 =A41+1
Zeile 44 =A45
Zeile 45 =A43+1
usw.
Hallo Ulli,
als Idee: Würde Dir eine (geschützte) Zeile mit „der heutige Tag“ helfen? Im Ausdruck kann man die doppelte Datenhaltung dann ggf. verstecken.
MfG Georg V.
Hi Ulrich [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Georg,
ich hatte auch die Idee, eine Zelle mit HEUTE() mit den anderen Datumszellen abzugleichen, weiß aber nicht, wie ich das mit dem Inhalt, der ja nur eine Formel ist, anstellen soll. Oder hast Du etwas anderes gemeint?
Gruß Ulli
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Reinhard,
wenn das Makro so funktioniert, das Excel beim Öffnen in die Zelle springt, die dem aktuellen Datum entspricht, würde ich das Angebot gerne annehmen. Mein Verständnisproblem ist dabei, wie kann ich das Datum, das ja nur durch eine Formel errechnet wird, als Wert mit HEUTE() vergleichen? Das geht mit „Gehe zu“ ganz sicher nicht und meine VBA-Kenntnisse reichen da nicht.
Danke nochmal für das Angebot
Ulli
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
wenn das Makro so funktioniert, das Excel beim Öffnen in die
Zelle springt, die dem aktuellen Datum entspricht, würde ich
das Angebot gerne annehmen. Mein Verständnisproblem ist dabei,
wie kann ich das Datum, das ja nur durch eine Formel errechnet
wird, als Wert mit HEUTE() vergleichen? Das geht mit „Gehe zu“
ganz sicher nicht und meine VBA-Kenntnisse reichen da nicht.
Hi Ulrich,
das geht schon mit Gehe zu, allerdings indirekt, drücke F5 und gib ein:
Indirekt(B1)
sofern deine Tabelle so aussieht:
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │
───┼────────────┼─────┤
1 │ 9.10.2008 │ A13 │
───┼────────────┼─────┤
2 │ │ │
───┼────────────┼─────┤
3 │ 10.10.2008 │ │
───┼────────────┼─────┤
4 │ │ │
───┼────────────┼─────┤
5 │ 11.10.2008 │ │
───┼────────────┼─────┤
6 │ │ │
───┼────────────┼─────┤
7 │ 12.10.2008 │ │
───┼────────────┼─────┤
8 │ │ │
───┼────────────┼─────┤
9 │ 13.10.2008 │ │
───┼────────────┼─────┤
10 │ │ │
───┼────────────┼─────┤
11 │ 14.10.2008 │ │
───┼────────────┼─────┤
12 │ │ │
───┼────────────┼─────┤
13 │ 15.10.2008 │ │
───┼────────────┼─────┤
14 │ │ │
───┼────────────┼─────┤
15 │ 16.10.2008 │ │
───┴────────────┴─────┘
Benutzte Formeln:
A3 : =A1+1
A5 : =A3+1
A7 : =A5+1
A9 : =A7+1
A11: =A9+1
A13: =A11+1
A15: =A13+1
B1 : ="A"&VERGLEICH(HEUTE();A:A;0)
Zahlenformate der Zellen im gewählten Bereich:
A1:A15
haben das Zahlenformat: T.M.JJJJ
B1:B15
haben das Zahlenformat: Standard
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Alternativ dazu ein Makro. Alt+F11, Doppelklicke links auf „Diese Arbeitsmappe“ und füge den Code ein, schließe dann den Editor.
Option Explicit
’
Private Sub Workbook_Open()
With Application.WorksheetFunction
If .CountIf(Columns(1), Date) > 0 Then
Application.Goto Cells(.Match(CDbl(Date), Columns(1), 0), 1)
Else
MsgBox Date & " nicht gefunden in Spalte A"
End If
End With
End Sub
Gruß
Reinhard
Danke Reinhard,
habe beide Vorschläge getestet, beide erfüllen den Zweck.
Das Makro ist allerdings besser, da keine Benutzeraktion erforderlich ist. Ich hätte sonst verschiedenen Usern das Handling erklären müssen, unter denen auch einige Beinahe-DAU’s sind.
Danke nochmals
Ulli
wenn das Makro so funktioniert, das Excel beim Öffnen in die
Zelle springt, die dem aktuellen Datum entspricht, würde ich
das Angebot gerne annehmen. Mein Verständnisproblem ist dabei,
wie kann ich das Datum, das ja nur durch eine Formel errechnet
wird, als Wert mit HEUTE() vergleichen? Das geht mit „Gehe zu“
ganz sicher nicht und meine VBA-Kenntnisse reichen da nicht.Hi Ulrich,
das geht schon mit Gehe zu, allerdings indirekt, drücke F5 und
gib ein:Indirekt(B1)
sofern deine Tabelle so aussieht:
A11: =A9+1
A13: =A11+1
A15: =A13+1
B1 : =„A“&VERGLEICH(HEUTE();A:A;0)Zahlenformate der Zellen im gewählten Bereich:
A1:A15
haben das Zahlenformat: T.M.JJJJ
B1:B15
haben das Zahlenformat: StandardTabellendarstellung erreicht mit dem Code in FAQ:2363
Alternativ dazu ein Makro. Alt+F11, Doppelklicke links auf
„Diese Arbeitsmappe“ und füge den Code ein, schließe dann den
Editor.Option Explicit
’
Private Sub Workbook_Open()
With Application.WorksheetFunction
If .CountIf(Columns(1), Date) > 0 Then
Application.Goto Cells(.Match(CDbl(Date), Columns(1),
0), 1)
Else
MsgBox Date & " nicht gefunden in Spalte A"
End If
End With
End SubGruß
Reinhard