Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Bestimmte Zelle suchen und dort hinspringen
#1
Hallo,
ich suche eine Formel (Funktion?) mit der ich in einer komplexen Tabelle eine bestimmte Zelle finde und dort hinspringt.
Wie stelle ich das an?
Danke für Eure Hilfe!
Martin
to top
#2
ERgänzung: Die Zelle soll das heutige Datum enthalten!
to top
#3
Hallo,


versuche folgenden Code:

Sub sDatum()
Dim rng As range
Set rng = activesheet.usedrange.find(date, lookin:=xlvalues)
Rng.select 'auch wenn das sehr unbeliebt ist
End sub

FAlls es mehrere Zellen mit dem heutigen Datum gibt:

Set rng = activesheet.usedrange.findnext(rng)


Mfg
to top
#4
Hallo und nur ergänzend:
Range.Find in Verbindung mit dem Datum funktioniert nur, wenn das Datum ein Standard-Format hat.
Schon T.M.JJ bringt es aus dem Tritt.
Alleine deshalb nutze ich bei Daten (Plural von Datum) grundsätzlich WorksheetFunction.Match()

Wenn es bereits mit Fenneks Tipp läuft ist es gut, ansonsten lade eine Datei hoch.

Gruß Ralf
to top
#5
Zusatz:
@Fennek:
Geht auch ohne Variable in einem Rutsch:
Code:
ActiveSheet.UsedRange.Find(Date, .Cells(1), xlValues, xlWhole).Select

Gruß Ralf
to top
#6
(18.03.2016, 11:06)mbergold schrieb: Hallo,
ich suche eine Formel...
Martin

Hallo Martin, sieh dir mal HYPERLINK() an...
cu Jörg eine Rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#7
Hallo,

eine Frage an die Experten:

Die Datums-suche mit

Application.match()

habe ich nur hinbekommen, wenn ich den Suchbereich auf eine Zeile oder eine Spalte begrenzt habe. Sonst wurde nichts gefunden und ein Fehler zurückgegeben.

Ist das so, oder habe ich etwas übersehen?

Mfg
to top
#8
Hallo Fennek,

ja, das ist so.
Gruß Atilla
to top
#9
Hallo,

und eventuelle Probleme mit den Formatierungen zu um gehen, könnte dieser Code helfen, der auch klappt, falls Datum und Uhrzeit vorliegt.

Sub sDatum()
Dim c as range
For each c in activesheet.usedrange
If isdate© or instr(1, c.numberformat, ":", vbtextcompare) then
If int(c.value) = date then c.interior.colorindex =6
End if
Next
End sub
to top
#10
Hi!
Ich greife nochmal den TE auf:
Zitat:ERgänzung: Die Zelle soll das heutige Datum enthalten!

Macht ja nur Sinn, wenn alle Daten des Jahres vorhanden sind (in einer stetigen Reihe).
Gesetzt den Fall, das Inkrement beträgt 1 und die Daten befinden sich in Spalte A ab Zeile 2:

Heute ist der
?Date - DateSerial(Year(Date), 1, 0)
Tag, also der 79.

Folglich reicht einfach:
Cells(Date - DateSerial(Year(Date), 1, 0) + 1, 1).Select
wobei + 1 der Zeilenversatz für die Zeile des 1.1. - 1 ist

Gruß Ralf
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste