Clever-Excel-Forum

Normale Version: Spalte per Tagesdatum anwählen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Morgen zusammen,

will folgende Herausforderung lösen:

Habe eine Tabelle, die per Fensterfixierung in einen "statischen" (bis Spalte D), linken Teil und einen "scrollbaren" (ab Spalte E und alle folgenden) rechten Teil aufgeteilt ist.
Im scrollbaren Teil trägt jede Spalte ein zukünftiges Datum.

Jetzt würde ich gern ein Makro einrichten, welches den scrollbaren Bereich beim Aufrufen der Tabelle immer am jeweiligen Tagesdatum an den Fixbereich anstößt.

Ich hoffe, ich habe das verständlich ausgedrückt. Gibt es da einen Makroansatz, der mir helfen könnte? Ich arbeite zur Zeit nur mit dem Recorder und bin noch nicht fit im "selberschreiben".

Besten Dank vorab für jeden Lösungsansatz.

Viele Grüße
Klaus
Das macht man anders.

Der Fixbereich bis D soll ja bleiben, damit Du weißt, wo Du bist. Dann kannst Du aber nicht auch noch die folgenden Spalten "wegfixen", sondern musst sie einfach ausblenden.

Das Makro liefert gleich bestimmt jmd.
Ich dachte da an eine Art Sprungbefehl mit "spring zu Datum Xx.XX.XXX"
So, wie wenn ich einen Begriff innerhalb einer Tabelle suchen will.
War ich zu naiv? :19:
Wenn jemand dafür ein Makro hätte, wäre das super.
Nochmals Danke
Klaus
Hallo

meinst du so?

Code:
Sub test()
   Dim c As Range
   Set c = Rows(1).Find(Date, LookIn:=xlFormulas, lookat:=xlWhole)
   If Not c Is Nothing Then
       Application.Goto Cells(1, c.Column), True
   End If
End Sub

MfG Tom
Hallo Tom,
soweit ich das beurteilen kann, sieht das gut aus :19:

Wie stelle ich denn jetzt die Zellenbezüge her.
Ich denke, irgendwo in der Tabelle gebe ich mit =HEUTE() das Tagesdatum an, oder?
In der Zeile 6 ab Spalte E steht dann das anzupeilende Datum.
Wie ist das im Makro verklausuliert bzw. was muß ich ändern, um das Makro entsprechend anzupassen?

Es grüßt der Makro-Laie
Klaus
Hallo

im Code wird nach "Date" gesucht, das ist das heutige Datum
wenn die Datümer (Datums, oder wie auch immer) in Zeile 6 stehen dann so

Code:
Sub test()
   Dim c As Range
   Set c = Rows(1).Find(Date, LookIn:=xlFormulas, lookat:=xlWhole)
   If Not c Is Nothing Then
       Application.Goto Cells(6, c.Column), True
   End If
End Sub
MfG Tom
Hi CrazyTom, funktionierte erst nach Umwandlung der Datum-Formeln in Werte!
Hallo Lupo

wenn das Datum durch eine Formel errechnet wird, schon
darüber gab es aber keine Angabe
in meinem Test war in Zeile 1 das Datum ohne Formel
wenn das Datum in der Zeile wirklich in diesem Format 08.05.2017 vorliegt
dann im Code

Code:
LookIn:=xlFormulas
ändern in
Code:
LookIn:=xlValues


MfG Tom
Hallo Tom & Lupo,

habe den Code jetzt unten in der "Registerlasche" eingefügt.
Ich hoffe, dies war richtig, die Tabelle besteht unten aus mehreren Tabellenblättern.

Leider tut sich nichts, weder wenn ich nur das entsprechende Tabellenblatt aufrufe, noch wenn ich die Tabelle schließe und neu aufrufe.
Was könnte ich falsch gemacht haben?

Die Zeile 6 ist defintiv richtig. Das Datum habe ich in den Zellen in Zeile 6 von Hand eingegeben und dann nach rechts rüber gezogen. Die Zellen sind alle als Datum formatiert.

Dankbar für Rat
Gruß
Klaus
Hallo

probier das hier mal
das gehört in das Tabellenblatt wo es stattfinden soll

Code:
Private Sub Worksheet_Activate()
   Dim intSpalte As Integer
   intSpalte = Application.Match(CDbl(Date), Rows(6), 0)
   Application.Goto Cells(1, intSpalte), True
End Sub
MfG Tom
Seiten: 1 2