Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit find-Methode

Problem mit find-Methode
Jens
Hallo Leute,
ich komm nicht weiter bei einem Problem mit der find-Methode. Hier ein Minimalbeispiel:
In einem Blatt stehen in Spalte A die Tage des Jahres mit Datum, im Format "1.1.06", "2.1.06", ... bis zum "31.12.06".
Folgender Code sollte einen bestimmten Tag finden:
Dim rng As Range, zelle As Range
Dim strDatum&
Dim datum As Date
datum = Date
strDatum = CStr(Day(datum)) & "." & CStr(Month(datum)) & "." & Right(CStr(Year(datum)), 2)
Set rng = ActiveSheet.Columns(1)
Set zelle = rng.Find(What:="17.2.06", LookIn:=xlValues, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False,
SearchFormat:=False)
Aber zelle ist nach der letzten Zeile noch immer Nothing.
Kann mir wer weiterhelfen?
LG,
Jens

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Problem mit find-Methode
17.02.2006 11:37:30
Nepumuk
Hallo Jens,
ein Datum in der Tabelle ist eine formatierte Zahl vom Typ Long und kein String.
Gruß
Nepumuk

AW: Problem mit find-Methode
17.02.2006 11:56:00
Jens
Hallo Nepumuk,
danke für deinen Hinweis.
Mir ist aber nicht ganz klar, was ich der Find-Methode sagen muss, damit sie mein Datum findet.
Ich habe folgendes versucht, leider auch kein Erfolg:
lngDatum = CLng(Date)
Set zelle = rng.Find(What:=lngDatum, LookIn:=xlValues, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False,
SearchFormat:=False)
Kannst du mir hier weiterhelfen?
Danke und lG,
Jens
Anzeige
AW: Problem mit find-Methode
17.02.2006 12:09:25
Nepumuk
Hallo Jens,
entschuldige bitte, ich habe das mit dem Autofilter verwechselt. Du musst nach einem Wert von Typ Date suchen.
Public Sub test()
    Dim objCell As Range
    Dim dtmDate As Date
    dtmDate = CDate("12.03.2006")
    Set objCell = Columns(1).Find(What:=dtmDate)
    If Not objCell Is Nothing Then objCell.Select
End Sub

Gruß
Nepumuk

Anzeige
AW: Problem mit find-Methode
20.02.2006 10:15:15
Jens
Hallo Nepumuk,
danke für den Code-Ausschnitt.
Ich bekomme leider immer noch kein Ergebnis, d.h. nach Aufruf der Find-Methode ist objCell immer noch auf Nothing gesetzt...
Außerdem sollte ich die Suche für 2 verschiedene Fälle durchführen:
(1) im ersten Blatt ist jeweils das Datum angegeben, d.h. in der Bearbeitungsleiste steht es im Format 01.01.2006, angezeigt wird es als T.M.JJ, d.h. als 1.1.06
(2) im zweiten Blatt wird auf die Datumsspalte im ersten Blatt verwiesen, d.h. in der Bearbeitungsleiste steht eine Formel wie "=A1", Zellinhalt ist dann auch 1.1.06
Hab deinen Code auch mit der Zeile
Set objCell = rng.Find(What:=dtmDate, LookIn:=xlValues, LookAt:=xlPart)
probiert, leider auch kein Erfolg...
LG,
Jens
Anzeige
AW: Problem mit find-Methode
20.02.2006 10:54:04
Nepumuk
Hallo Jens,
Datum, welches mir einer Formel erzeugt wird, kannst du mit der Find-Methode nicht finden. Da musst du die Worksheetfunction Match benutzen.
Gruß
Nepumuk

AW: Problem mit find-Methode
20.02.2006 11:49:24
Jens
Hallo Nepumuk,
super, danke für den Hinweis. Mit der Match-Funktion funktioniert's jetzt ganz problemlos.
Ich suche jetzt direkt nach der Long-Zahl, die dem Datum entspricht. Also in etwa so:
intRow = Application.WorksheetFunction.Match(CLng(Date),Range("A1:A365"),0)
if intRow 0 then ...
else ...
Also vielen Dank für den Hinweis!
Jens
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige