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
Antworten Top
#2
ERgänzung: Die Zelle soll das heutige Datum enthalten!
Antworten 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
Antworten 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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Zusatz:
@Fennek:
Geht auch ohne Variable in einem Rutsch:
Code:
ActiveSheet.UsedRange.Find(Date, .Cells(1), xlValues, xlWhole).Select

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
(18.03.2016, 12:06)mbergold schrieb: Hallo,
ich suche eine Formel...
Martin

Hallo Martin, sieh dir mal HYPERLINK() an...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Antworten 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
Antworten Top
#8
Hallo Fennek,

ja, das ist so.
Gruß Atilla
Antworten 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
Antworten 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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


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