Wenn Dan das Dialogfeld Suchen anzeigt, werden standardmäßig im Arbeitsblatt gesucht und in Formeln gesucht. Er möchte, dass die Standardeinstellung in der Arbeitsmappe enthalten ist und in Werten angezeigt wird. Daher fragt er sich, ob es eine Möglichkeit gibt, die Standardeinstellung zu ändern.

In Excel können Sie im Dialogfeld Suchen nicht angeben, welche Einstellungen für eine Standardeinstellung gewünscht werden. Es gibt jedoch einen gewissen Weg, um diese scheinbare Einschränkung zu umgehen – zumindest teilweise. Excel merkt sich die letzten Einstellungen im Dialogfeld Suchen für die gesamte Excel-Sitzung. (Die Einstellungen werden erst zurückgesetzt, wenn Sie Excel beenden und neu starten.) Dies bedeutet, dass Sie lediglich ein kleines Makro erstellen müssen, das die gewünschten Einstellungen im Dialogfeld festlegt.

Es gibt zwei Möglichkeiten, dies zu tun. Das erste besteht darin, ein Makro zu erstellen, das die Optionen im Dialogfeld direkt festlegt, z. B.:

Sub SetFind1()

Application.Dialogs(xlDialogFormulaFind).Show,2,2 End Sub

Die zweite Möglichkeit besteht darin, die Find-Methode des Cells-Objekts folgendermaßen zu verwenden:

Sub SetFind2()

Dim c As Range     c = Cells.Find(What:="", LookIn:=xlValues, LookAt:=xlPart)

End Sub

Beides funktioniert bis zu einem gewissen Punkt einwandfrei. (Mehr dazu gleich.) Sie müssen das Makro nur ausführen, wenn Sie Excel zum ersten Mal manuell oder als Teil eines Auto_Open-Makros starten. Die Einstellungen im Dialogfeld werden dann für den Rest der Excel-Sitzung geändert, sofern Sie sie nicht manuell ändern.

Nun zum Punkt. Es scheint, dass es keine Möglichkeit gibt, die Einstellung Innerhalb des Dialogfelds zu ändern. Diese Einstellung wird standardmäßig im Arbeitsblatt angezeigt. Sie können es manuell in Arbeitsmappe ändern, und Excel merkt sich pflichtbewusst die Einstellung für Ihre aktuelle Sitzung. Sie können die Einstellung in VBA jedoch scheinbar nicht ändern. Sie werden feststellen, dass keines der oben genannten Beispielmakros diese bestimmte Einstellung ändert. Wenn Sie ein Makro aufzeichnen, in dem Sie die beiden Einstellungen (Within und Look In) ändern, erhalten Sie Folgendes:

Sub Macro1()

' ' Macro1 Macro ' '     Sheets("Sheet1").Select     Cells.Find(What:="", After:=ActiveCell, LookIn:=xlValues, _         LookAt:=xlPart, SearchOrder:=xlByRows, _         SearchDirection:=xlNext, MatchCase:=False).Activate End Sub

Wenn Sie die Arbeitsmappe speichern, in der dieses Makro vorhanden ist, Excel neu starten und dann die Einstellungen im Dialogfeld Suchen überprüfen (drücken Sie Strg + F), werden Sie feststellen, dass die Einstellungen wieder die Standardeinstellungen für das Suchen im Arbeitsblatt und das Suchen sind in Formeln. Führen Sie das Makro aus und sehen Sie sich das Dialogfeld erneut an. Sie sollten sehen, dass die Einstellungen zum Suchen von Werten im Arbeitsblatt dienen. Das Makro legt die Einstellung „Innerhalb“ nicht fest, obwohl Sie sie aufgezeichnet haben, als Sie „Innen“ auf „Arbeitsmappe“ gesetzt haben.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (8801) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: