Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Probleme mit Suchfunktion

Forumthread: 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
Anzeige

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...
Anzeige
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
Anzeige
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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Probleme mit der Suchfunktion in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und gehe zu dem Arbeitsblatt, in dem du die Suchfunktion verwenden möchtest.
  2. Verwende die Suchfunktion mit STRG + F oder gehe zu "Start" > "Suchen & Auswählen" > "Suchen".
  3. Gib den Suchbegriff ein (z. B. eine Jahreszahl) und klicke auf "Suchen".
  4. Überprüfe die Einstellungen:
    • Stelle sicher, dass du im richtigen Bereich suchst (z. B. in Formeln oder Werten).
    • Setze den Parameter auf „xlPart“, wenn du nach Teilstrings suchst.
  5. Führe das Makro aus, wenn du eine komplexere Suche benötigst. Hier ist ein Beispiel:
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:=xlValues)
    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

Häufige Fehler und Lösungen

  • Excel Suche funktioniert nicht: Überprüfe deine Suchparameter. Möglicherweise suchst du in „xlFormulas“, während du „xlValues“ verwenden solltest, um die tatsächlichen Werte zu finden.

  • Suchfunktion in Excel funktioniert nicht: Stelle sicher, dass die Zellen nicht als Datum formatiert sind, wenn du nach einer Jahreszahl suchst. Die Formatierung kann verhindern, dass die Suche funktioniert.

  • Keine übereinstimmenden Daten gefunden: Achte darauf, dass die Zelle, die du suchst, im richtigen Format vorliegt und dass du die Suche im richtigen Bereich durchführst.


Alternative Methoden

  • Verwende die Filterfunktion: Anstatt die Suchfunktion zu nutzen, kannst du die Filteroption verwenden, um gezielt nach bestimmten Daten in deinen Tabellen zu suchen.

  • Erstelle eine PivotTable: Wenn du regelmäßig große Datenmengen durchsuchst, kann eine PivotTable helfen, die Daten zu organisieren und spezifische Informationen schnell zu finden.


Praktische Beispiele

  • Beispiel 1: Du möchtest die Jahreszahl 2008 finden. Stelle sicher, dass du den Filter auf "xlValues" setzt und die Zellen nicht als Datum formatiert sind.
  • Beispiel 2: Wenn du nach einem Teilstring suchst, wie z. B. „200“, ändere die Suchparameter in deinem VBA-Code entsprechend:
Set objErgebnis = Cells.Find(What:="200", LookAt:=xlPart, LookIn:=xlValues)

Tipps für Profis

  • Verwende die richtige Formatierung: Stelle sicher, dass die Daten in der Zelle die richtige Formatierung haben, um die Suche erfolgreich durchzuführen.

  • Nutze die erweiterte Filteroption: Bei sehr großen Datenmengen kann es sinnvoll sein, die Filteroptionen von Excel zu verwenden, um die Suche zu verfeinern.

  • Makros optimieren: Wenn du häufig mit der Suche in Excel arbeitest, überlege dir, ein Makro zu erstellen, das deine bevorzugten Suchparameter speichert und automatisch anwendet.


FAQ: Häufige Fragen

1. Warum finde ich meine Daten nicht, obwohl sie in der Excel-Datei sind?
Das kann an der falschen Formatierung oder den falschen Suchparametern liegen. Stelle sicher, dass du die richtigen Einstellungen gewählt hast.

2. Wie kann ich die Suchfunktion in Excel effizienter nutzen?
Nutze die Filteroptionen oder erstelle ein Makro, das deine häufigsten Suchanfragen automatisiert. Achte auch darauf, die Daten in geeigneten Formaten zu halten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige