Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1696to1700
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

Fehler 91, Suchfunktion

Fehler 91, Suchfunktion
24.06.2019 17:13:57
Leon.DerProf
Meine Frage wurde geschlossen, das Problem jedoch nicht gelöst.
Die Antworten konnten mir leider nicht weiterhelfen. Ich gebe mir die Schuld dafür, aber bitte nochmal.
Hier ist mein Code.
Ich speichere ein Datum als Wert (Bsp.: 43344) aus Tabelle1 und suche diesen Wert in Tabelle2.
Ich denke das Problem liegt daran, dass in Tabelle2 das Datum zwar TT.MM.JJ dargestellt wird, aber mit der Funktion =DATUM() ermittelt wird.
Hier ist mein bisheriger code.

Sub findenetwa2()
Dim festNr1 As Long
Dim finden1 As Range
festNr1 = ActiveCell.Offset(0, -5).Value2
With Worksheets(2).Range("D4:NE4")
Set finden1 = .Find(what:=festNr1, LookIn:=xlValues)
End With
MsgBox finden1
End Sub
Bei der MsgBox Ausgabe wird ein Laufzeitfehler 91 gegeben.
Ich wurde auf folgenden Link verwiesen, dieser bringt mir aber nicht viel.
Daher bitte konkret sagen, wo der Fehler ist, da mir Verweise nicht sehr helfen, da ich nur rudimentäre Kenntnisse habe.
Zuvor wurde gesagt, Set sei das Zauberwort. Als Hinweis an euch.
Besten Dank :)

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler 91, Suchfunktion
24.06.2019 17:14:24
Leon.DerProf
https://docs.microsoft.com/de-de/office/vba/api/excel.range.find
AW: Fehler 91, Suchfunktion
24.06.2019 17:25:13
Daniel
Hi
mit VBA Datumswerte finden ist nicht ganz trivial, weil da der Suchbegriff in Abhängigkeit von der Formatierung im Tabellenblatt, aber trotzdem in amerikanischer Datumsschreibweise angegeben werden muss.
wenn man nur eine Zeile oder eine Spalte durchsucht, ist es einfacher, mit Worksheetfunction.Match (entspricht der Excelfunktion VERGLEICH) die Positionsnummer der Zelle zu ermitteln, weil Application.Match mit den unformatierten Werten arbeitet.
wenn dann auch noch einen Kalender hat, in welchem die Datumswerte lückenlos und aufsteigend sortiert sind, kann man die Spalte auch einfach berechnen:
set finden1 = .Cells(4, festNr1 - .Range("D4").Value + 4)
Gruß Daniel
Anzeige
AW: Fehler 91, Suchfunktion
24.06.2019 17:30:56
Leon.DerProf

Sub findenetwa2()
Dim festNr1 As Long
Dim finden1 As Range
festNr1 = ActiveCell.Offset(0, -5).Value
With Worksheets(2).Range("D4:NE4")
Set finden1 = .Cells(4, festNr1 - .Range("D4").Value + 4)
'Set finden1 = .Find(what:=festNr1, LookIn:=xlValue)
End With
MsgBox "Hallo"
MsgBox finden1
End Sub
Funktioniert so nicht
AW: Fehler 91, Suchfunktion
24.06.2019 17:39:48
Daniel
Hi
"funktioniert so nicht" ist als Fehlerbeschreibung ungefähr so hilfreich die Antwort:
"machs richtig, dann funktioniert es auch".
die erste frage wäre, treffen denn die Anforderungen, die ich beschrieben habe auf deine Tabelle zu?
steht in Worksheets(2).Range("D4") das Datum als Zahlenwert?
ist der Datumswert, der gesucht wird, innerhalb des zulässigen Zeitraums?
wie äußert sich das "funktioniert nicht" konkret?
gibt's ne Fehlermeldung, wenn ja welche?
wenn nein, was passiert?
sorry, aber mit einem lakonischen "funktioniert nicht" als Rückmeldung macht Helfen keinen Spass.
Anzeige
AW: Fehler 91, Suchfunktion
24.06.2019 18:06:44
Leon.DerProf
Du hast natürlich Recht, tut mir Leid.
Ich habe mal eine Beispiel Datei entworfen. Sie verstößt auch nicht gegen das Datenschutzrecht.
https://www.herber.de/bbs/user/130566.xlsm
AW: Fehler 91, Suchfunktion
24.06.2019 18:17:29
Daniel
Hi
naja damit funktioniert mein Code doch.
du musst nur die Unterschiede, die zwischen deiner Beschreibung in deiner Eingangsfrage und dem deiner tatsächlichen Datei bestehen, richtig anpassen.
und in die WITH-Klammer nimmst du nur das Sheet und nicht den Zellbereich. Sonst passen die Zeilen- und Spaltennummern nicht.
Gruß Daniel
Anzeige
AW: Fehler 91, Suchfunktion
24.06.2019 18:25:04
Leon.DerProf
Jetzt schlägt es ein wie ein Blitz. Erst jetzt verstehe ich deinen Code. Der ist geradezu genial.
Ich habe schon viele Tutorials angeschaut und das VBA Buch von Bernd Held versucht zu studieren, aber erst in der Praxis fängt es an knifflig zu werden und da braucht man Leute mit Übung und Kreativität, jemanden wie euch und vor allem dich Daniel. Danke :)
AW: Fehler 91, Suchfunktion
24.06.2019 17:42:28
Leon.DerProf
PROBLEM SOLVED!
Aber nicht mit VBA.
Also Leute. Wie der Daniel schon gesagt hat, ist es wohl das mit der Datum Funktion nicht ganz leicht.
Mein alter Code kann benutzt werden.
Ich habe lediglich vor die Formel DATUM ein WERT davor gesetzt, also in folgender Form: =WERT(DATUM())
Die Zahl wird gleich ausgespuckt, aber für VBA ist es dann auffindbar.
Anzeige
AW: Fehler 91, Suchfunktion
24.06.2019 17:54:02
Leon.DerProf
Ach man! Doch nicht. Habe mich verguckt. Problem besteht :(((((((
AW: Fehler 91, Suchfunktion
24.06.2019 18:16:32
Luschi
Hallo Leon.DerProf,
mach doch mal eine Demodatei und lade sie hier hoch, denn das Datum macht immer wieder beim Find-Befehl Probleme, besonders dann, wenn das Datum auch noch besonders formatiert ist: Montag, 24. Juni 2019 - in besonders aussichtslosen Versuchen benutze ich dann Application.Match.
Gruß von Luschi
aus klein-Paris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige