Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1052to1056
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

Probleme mit Suchfunktion

Probleme mit Suchfunktion
03.03.2009 08:58:09
gw2
Hallo, Zusammen!
Ich habe ein Problem, mit einem kleinen Programm das ich erstellt habe und hoffe hier auf Unterstützung.
In dem Programm nutze ich die Suchfunktion um die Startzelle für einen Kopiervorgang zu ermitteln:
strFind = InputBox("Bitte die Jahreszahl (letztes Jahr) eingeben, die kopiert werden soll", "Jahreswechsel", "2008")
Set objErgebnis = Cells.Find(strFind, , xlFormulas)
If objErgebnis Is Nothing Then
MsgBox "Die angegebene Jahreszahl konnte nicht gefunden werden!"
Exit Sub
Else
objErgebnis.Select
strAdress = ActiveCell.Address(False, False) 'Startzelle merken...
strEinfZeile = Right(strAdress, 1)
strEinfSpalte = ActiveCell.Column + 12 '... und Startspalte um ein Jahr versetzen...
End If
Anschließend läuft dann der Kopiervorgang mit einigen Zusatzfunktionen. Mein Problem ist nun, dass die Suche keinen entsprechenden Wert findet, obwohl dieser Nachweislich in der Datei steht. Die Suche funktioniert leider auch nicht außerhalb des Makros (mit STR+F), daher vermute ich noch ein anderes Problem (Fehlermeldung: "Microsoft Excel kann keine übereinstimmenden Daten finden. Überprüfen Sie Ihre Sucheinstellungen, Suchbereiche und - formatierungen.").
Der angezeigte Wert (31.12.2008) stammt aus keiner Eingabe, sondern aus einer verknüpften Datei. Kann es damit etwas zu tun haben? Kurioserweise funktioniert die Suche in einigen Dateien, in anderen wiederum nicht (ich habe mehrmals ähnliche Dateien...).
Ich hoffe ich habe den Fehler verständlich beschrieben und Ihr könnt mir helfen. Meine Google Suche war leider vergeblich.
Vielen Dank und viele Grüße schon einmal
Gunther

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Suchfunktion
03.03.2009 09:54:58
fcs
Hallo Gunther,
du muss in der Find-Funktion zusätzlich den Parameter für Teilstring-Suche einbauen, dann solte es funktionieren. Je nachdem mit welch Sucheinstellung du bei vorherigen Suchen gearbeitet hast funktioniert dein Makro mal und mal nicht.
Außerdem sollte man die Variablen für Zeilen- und Spaltennumemrn nicht in Variablen vomTyp String sondern Typ Long speichern.
Gruß
Franz

Sub Makro1()
Dim strFind As Variant, objErgebnis As Range
Dim strAdress As String
Dim lngEinfzeile As Long
Dim lngEinfSpalte As Long
strFind = InputBox("Bitte die Jahreszahl (letztes Jahr) eingeben, die kopiert werden soll", " _
Jahreswechsel", "2008")
Set objErgebnis = Cells.Find(What:=strFind, LookAt:=xlPart, LookIn:=xlFormulas)
If objErgebnis Is Nothing Then
MsgBox "Die angegebene Jahreszahl konnte nicht gefunden werden!"
Exit Sub
Else
objErgebnis.Select
strAdress = objErgebnis.Address(False, False) 'Startzelle merken...
lngEinfzeile = objErgebnis.Row
lngEinfSpalte = objErgebnis.Column + 12 '... und Startspalte um ein Jahr versetzen...
End If
End Sub


Anzeige
AW: Probleme mit Suchfunktion
03.03.2009 10:10:37
gw2
Hallo, Franz,
danke Dir für die Erläuterung. Ich habe mein Programm mal geändert (auch mit den Variablen!), leider erhalte ich aber immer noch die gleiche Fehlermeldung und es wird kein Sucheintrag gefunden. Der Suchbefehl ist doch absolut identisch mit der Funktion "Suchen" (STRG+F), oder? Dort findet Excel die Werte ja auch nicht...
Beispiemappe?
03.03.2009 11:33:49
Tino
Hallo,
hättest Du eine Beispielmappe wo dieser Eintrag nicht gefunden wird?
Gruß Tino
AW: Beispiemappe?
03.03.2009 12:08:00
gw2
Ich habe gerade noch einmal getestet: In einer neuen Arbeitsmappe trage ich in Zelle A1 den Wert 31.01.2009 und formatiere diese Zelle als Datum. Dann erstelle ich eine zweite Datei (so wie derzeit) und Verknüfe auf die Zelle A1 der Mappe 1. Wenn ich nun die Excel-Suchfunktion bemühe und in Formeln suchen lasse, wird kein Eintrag gefunden...
Wo liegt das Problem?
Gruß
Gunther
Anzeige
AW: Beispiemappe?
03.03.2009 12:22:19
Nepumuk
Hallo Gunther,
such mal nicht in xlFormulas sondern in xlValues. Du willst ja nicht die Formel prüfen, sondern deren Rückgabewert.
Gruß
Nepumuk
versuche es mal mit xlValues oT.
03.03.2009 12:25:44
Tino
AW: versuche es mal mit xlValues oT.
03.03.2009 12:31:29
Nepumuk
Hallo Tino,
hab ich, mit: Cells.Find(What:=strFind, LookAt:=xlPart, LookIn:=xlValues)
Die Jahreszahl wird gefunden. Egal ob manuell eingetragen oder per Formel aus einer anderen Mappe gezogen. Ich arbeite immer mit xlValues, denn ich suche Werte und keine Formeln.
Gruß
Nepumuk
AW: versuche es mal mit xlValues oT.
03.03.2009 12:45:03
gw2
Hallo, Nepumuk,
dass scheint ein Teil des Rätsels Lösung zu sein. Allerdings hilft mir das nur dann, wenn in der Ursprungsdatei (Mappe1) das Feld nicht als Datum formatiert ist. Hier muss das Feld ein Textfeld sein, dann findet er mit xlValues auch in der verknüften Datei (Mappe2) den Wert!
Danke an alle für die Hilfe!
Anzeige
AW: versuche es mal mit xlValues mT.
03.03.2009 12:56:26
Tino
Hallo,
also bei mir funktioniert es,
allerdings muss dass Datum auch so Formatiert sein, dass die komplette Jahreszahl zu sehen ist.
Also wenn ich nach 2008 suche, darf die Zelle nicht auf TT.MM.JJ Formatiert sein.
Gruß Tino
richtige Syntax.
03.03.2009 12:45:14
Tino
Hallo,
ich teste es immer was am besten funzt und das nehme ich.
Gern benutze ich auch einfach den Rekorder und fummle den Code noch etwas zu Recht.
Gruß Tino
AW: richtige Syntax.
03.03.2009 13:14:49
Nepumuk
Hallo Tino,
entschuildige, wenn ich dich missverstanden habe. Das war gar keine Aufforderung an mich sondern ein Tip für Gunther.
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige