Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
560to564
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
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchfunktion

Suchfunktion
08.02.2005 08:46:55
JL
Moin,
Versuche den Suchdialog von Excel per VBA aufzurufen und dabei gleich die Voreinstellung im Feld
"suchen in" zu ändern auf
"in Werten" (voreingestellt ist "in Formeln")
Der Makrorecorder versagt hier und auch die Hilfe gibt nichts her.
Wüßte auch nicht wie man das generell ändert.
Danke
Jörg

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion
08.02.2005 09:07:04
Heinz
Hallo Jörg,
der Makrorecorder gibt dir über alles Auskunft, was du willst:
Cells.Find(What:="3", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
Wenn du unter LookIn den Eintrag xlValues einträgst, dann wird nach den Werten gesucht. Auch in der Hilfe kannst du unter Find die gesamte Syntax nachlesen:
Find-Methode
Sucht bestimmte Informationen in einem Bereich und gibt ein Range-Objekt zurück, das die erste Zelle mit diesem Inhalt darstellt. Gibt Nothing zurück, wenn keine Übereinstimmung gefunden wird. Die Methode bleibt ohne Wirkung auf die aktuelle Markierung oder die aktive Zelle.
Informationen über die Verwendung der Tabellenfunktion Finden in Visual Basic finden Sie unter Verwenden von Tabellenfunktionen in Visual Basic.
Syntax
Ausdruck.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte)
Ausdruck Erforderlich. Ein Ausdruck, der ein Range-Objekt zurückgibt.
What Variant erforderlich. Der Inhalt, nach dem gesucht werden soll. Dabei kann es sich um eine Zeichenfolge oder einen beliebigen Microsoft Excel-Datentyp handeln.
After Variant optional. Gibt die Zelle an, nach der die Suche beginnen soll. Dies entspricht der Position der aktiven Zelle, wenn eine Suche von der Benutzeroberfläche aus durchgeführt wird. Bitte beachten Sie, dass After eine einzelne Zelle im Bereich sein muss. Beachten Sie, dass die Suche nach dieser Zelle beginnt, die angegebene Zelle wird also erst durchsucht, wenn der Suchlauf zur Ausgangszelle zurückkehrt. Wird das Argument nicht angegeben, so ist die obere linke Zelle des Bereichs der Startpunkt für die Suche.
LookIn Variant optional. Zulässig ist eine der folgenden XlFindLookIn-Konstanten: xlFormulas, xlValues oder xlComments.
LookAt Variant optional. Zulässig sind die XlLookAt-Konstanten xlPart oder xlWhole.
SearchOrder Variant optional. Zulässig sind die XlSearchOrder-Konstanten xlByColumns oder xlByRows.
SearchDirection Variant optional. Zulässig sind die XlSearchDirection-Konstanten xlNext oder xlPrevious. Die Standardkonstante ist xlNext.
MatchCase Variant optional. Wenn True, wird bei der Suche zwischen Groß- und Kleinschreibung unterschieden. Der Standardwert ist False.
MatchByte Variant optional. Wird nur verwendet, wenn double byte-Sprachunterstützung ausgewählt oder installiert wurde. Wenn True, werden double byte-Zeichen nur mit double byte-Zeichen verglichen. Wenn False, so können double byte-Zeichen mit den entsprechenden single byte-Zeichen übereinstimmen.
Anmerkungen
Die Angaben für LookIn, LookAt, SearchOrder und MatchByte werden jedesmal gespeichert, wenn Sie diese Methode verwenden. Falls Sie beim nächsten Aufruf dieser Methode keine Werte für die Argumente angeben, werden die gespeicherten Werte verwendet. Die Angabe dieser Argumente ändert die Einstellungen im Dialogfeld Suchen, und eine Änderung der Einstellungen im Dialogfeld Suchen ändert die gespeicherten Werte, die verwendet werden, wenn Sie die Argumente nicht angeben. Um Probleme zu vermeiden, sollten Sie bei jeder Verwendung dieser Methode diese Argumente ausdrücklich angeben.
Mit den Methoden FindNext und FindPrevious können Sie die Suche mit denselben Kriterien wiederholen.
Erreicht die Suche das Ende des angegebenen Suchbereichs, beginnt sie erneut am Anfang dieses Bereichs. Um zu verhindern, dass der Bereich erneut durchsucht wird, speichern Sie die Adresse der zuerst gefundenen Zelle, und vergleichen Sie dann jede nachfolgend gefundene Zelladresse mit dieser gespeicherten Adresse.
Wenn Sie bei der Suche von Zellen ein komplexeres Suchmuster verwenden wollen, können Sie eine For Each...Next-Anweisung in Kombination mit dem Like-Operator einsetzen. Der folgende Code durchsucht beispielsweise alle Zellen im Bereich A1:C5 nach einer Zelle, deren Schriftart mit den Buchstaben "Cour" anfängt. Im Falle einer Übereinstimmung wird die Schriftart in Times New Roman geändert:
For Each c In [A1:C5]
If c.Font.Name Like "Cour*" Then
c.Font.Name = "Times New Roman"
End If
Next
Gruß
Heinz
Anzeige
AW: Suchfunktion
JL
Ja Danke, aber wenn man über
Application.Dialogs(xlDialogFormulaFind).Show
das Dialogfeld einblenden will gehts m.E. nicht.
Alternative wäre über eine InputBox die Find-Methode anzusprechen.
Wahrscheinlich das beste.
Jörg
AW: Suchfunktion
08.02.2005 14:21:05
Heinz
Hallo Jörg,
ich meine auch, dass über eine Inputbox der zu suchende Wert erfasst wird und dann mit Find ausgewertet wird.
Gruß
Heinz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige