PDA

Vollständige Version anzeigen : Sprung beim Öffnen zum Tagesdatum


Xamnoo
09.07.2006, 17:55
Hallo zusammen,

habe das Forum durchsucht und leider keine passende Antwort gefunden.

Habe eine einfache Tabelle, in einer Zeile steht in jeder Spalte ein Datum.
Jetzt soll Excel beim Öffnen der Tabelle immer gleich zu der Spalte mit dem aktuellen Tagesdatum springen.

Gibt es da eine Lösung?

Vielen Dank für Eure Bemühungen
Xamnoo

Beverly
09.07.2006, 18:14
Hi Du,

wenn du meinst, dass beim Öffnen der Arbeitsmappe zum aktuellen Datum gesprungen wird, dann schreibe folgenden Code unter DieseArbeitsmappe

Private Sub Workbook_Open()
Dim rng As Range
Worksheets("Tabelle1").Activate
Set rng = Worksheets("Tabelle1").UsedRange.Find(Date, lookat:=xlWhole, LookIn:=xlValues)
If rng Is Nothing Then
MsgBox "Suchbegriff wurde nicht gefunden!"
Exit Sub
End If
Range(rng.Address).Select
End Sub


Wenn du meinst, bei Aktivierung der Tabelle1, dann folgenden Code unter die Tabelle1

Private Sub Worksheet_Activate()
Dim rng As Range
Set rng = ActiveSheet.UsedRange.Find(Date, lookat:=xlWhole, LookIn:=xlValues)
If rng Is Nothing Then
MsgBox "Suchbegriff wurde nicht gefunden!"
Exit Sub
End If
Range(rng.Address).Select
End Sub


Beide Codes beziehen sich auf Tabelle1 - musst du entsprechend anpassen.

Hajo_Zi
09.07.2006, 19:17
Hallo Hans Bärbel <img src="http://smilie-land.de/t/i-l/lachen/lachen0048.gif">,

beim finden vom Datum kommt es sehr auf die Formatierung an. Darum hier noch ein anderer Ansatz.

Option Explicit

Sub aktuelle_datum_suchen()
' Urmakro von Andre Schau vom 17.02.2006
' Anpassung von Hajo_Zi, Activate entfernt und einige Schalter bei Find die Standard sind
' Teil falls Datum nicht vorhanden ergänzt, With eingefügt
Dim gefunden As Range
Dim StAddress As String
With ThisWorkbook.ActiveSheet
Set gefunden = .Cells.Find(What:=Day(Date), After:=.Range("A1"), LookIn:=xlValues, _
LookAt:=xlPart, SearchFormat:=False)
' Ergänzung Hajo_Zi
If gefunden Is Nothing Then Exit Sub ' Tag nicht gefunden
' ******
StAddress = gefunden.Address ' erste gefundene Zelle
Do While gefunden.Value <> Date
Set gefunden = .Cells.FindNext(gefunden.Offset(1, 0))
' Ergänzung Hajo_Zi
' die Suche ist wieder bei erster gefundenen Zelle, dann Schleife verlassen
If StAddress = gefunden.Address Then Exit Do
' ******
Loop
End With
' Ergänzung Hajo_Zi
If gefunden.Value = Date Then gefunden.Select
' ******
Set gefunden = Nothing
End Sub

<img src="http://home.media-n.de/ziplies/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://home.media-n.de/ziplies/" target="_blank"><img border="0" src="http://home.media-n.de/ziplies/images/logo_hajo.gif" align="middle" height="40" alt="Homepage"></a>
In Foren gilt allgemein das Du. Alle Leute, die ich duze, spreche ich mit dem Vornamen an. Ich habe jetzt mal meinen Antwortstil umgestellt: in Beiträgen, in denen kein Name steht, werden die Personen mit "Hans Bärbel" angeredet, da liege ich zumindest beim Geschlecht mit 50% richtig.

Xamnoo
10.07.2006, 08:38
Vielen Dank, werde ich gleich heute Abend mal versuchen.

Schönen Tag noch...
Xamnoo