Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
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
Inhaltsverzeichnis

Range Find

Range Find
05.02.2022 15:33:30
roman
Hallo.
Ich habe ein Problem bezüglich Range Find methode.
In Spalte B habe ich datum drin zwischen B12 und B100.
Mein Code:

Dim monat As String
Dim datum As Date
Dim strdatum As String
Dim bereich As Range
Dim strbereich As String
Dim ergebnis As String
datum = EingabeFormular.txt_Datum.Value
strdatum = datum
monat = MonthName(Month(datum))
Worksheets(monat).Activate
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
strbereich = "B12:B" & last
Set bereich = Range(strbereich).Find(what:=strdatum, LookIn:=xlValues, Lookat:=xlWhole)
If Not bereich Is Nothing Then
ActiveSheet.Cells(last, 2).Value = bereich.Address
End If
Ich kriege immer bereich Nothing
Wo liegt mein problem?

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

Betreff
Datum
Anwender
Anzeige
AW: Range Find
05.02.2022 15:38:32
Sulprobil
Ein Datum mit Uhrzeit ist eine Floating Point Zahl mit Nachkommastellen.
Hast Du glatte Daten ohne Uhrzeit, also ganze Zahlen? Dann müsstest Du sie finden.
Ansonsten könnest Du es z. B. mit sbClosest probieren:
http://www.sulprobil.com/lookup_variants_en/
Falsches Format
05.02.2022 16:16:26
{Boris}
Hi,
Du suchst einen String in (echten) Datümern. das passt nicht (oder nur zufällig).
Für Datumssuche nutzt man auch nicht die Find-Methode, sondern besser Application.Match.
Datum aus der Box mit CDate in ein Datum umwandeln und einer als Date deklarierten Variable zuweisen - oder mit CLng in Long.
Dann solltest Du auch fündig werden.
VG, Boris
Anzeige
AW: Falsches Format
05.02.2022 16:48:00
roman
Boris Danke sehr.
So hat es dan geklappt:

Dim ber As Double
ber = WorksheetFunction.Match(CLng(datum), Range(strbereich), 0)
und ich kriege die Zeile nummer.
Perfekt, danke sehr
AW: Falsches Format
05.02.2022 16:59:33
roman
Ich habe mich zu früh gefreut...
Wenn er aber nichts findet kriege ich fehler: 1004
Userbild
Iserror
05.02.2022 17:53:47
{Boris}
Hi,

If Not IsError(Application.Match(CLng(datum), Range(strbereich), 0)) Then
Ber = Application.Match(CLng(datum), Range(strbereich), 0)
End If
Nicht Worksheetfunction, sondern Application!
VG, Boris
Anzeige
AW: Iserror
06.02.2022 09:39:59
Luschi
Hallo {Boris} & Roman,
damit Excel nicht 2x rechnen muß, mache ich das so:

ber = Application.Match(CLng(datum), Range(strbereich), 0)
If Not IsError(ber) Then
'weiter
Else
'Abbruch
End If
Dabei ist Variable 'ber' so definiert:
Dim ber As Variant 'nicht Long - Double war sowieso nicht richtig
Gruß von Luschi
aus klein-Paris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige