Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchdialog über VBA aufrufen

Forumthread: Suchdialog über VBA aufrufen

Suchdialog über VBA aufrufen
20.01.2008 09:14:35
Wolfgang
Hallo und guten Morgen,
ich habe da folgendes Problem:
Ich möchte über VBA das Suchen-Dialogfeld aufrufen.
Was auch mit dem 3 folgendem Makro-varianten funktioniert.
Aber danach stürzt Excel immer komplett ab und die Datei muß wieder hergestellt werden.
Meine frage gibt es eine Lösung für das Problem?

Sub SuchDialog()
Application.Dialogs(xlDialogFormulaFind).Show
End Sub



Sub SuchDialog()
Application.CommandBars.FindControl(ID:=1849).Execute
End Sub



Sub SuchDialog()
Application.CommandBars("Worksheet Menu Bar").Controls("&Bearbeiten").Controls("Suchen..."). _
Execute
End Sub


MfG
Wolfgang

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchdialog über VBA aufrufen
20.01.2008 09:33:00
Jens
Hallo Wolfgang
Versuch mal das Fenster über den Index aufzurufen.
Application.Dialogs(64).Show
Gruß aus dem Sauerland
Jens

AW: Suchdialog über VBA aufrufen
20.01.2008 09:55:47
Wolfgang
Hallo Jens,
danke für Deine Antwort, aber leider immer noch das gleiche Problem.
Gruß Wolfgang

AW: Suchdialog über VBA aufrufen
20.01.2008 10:13:00
Holger
Hallo Wolfgang,
ich habe unter Office 2000 alle 3 Subs ausprobiert und konnte dein Problem nicht verifizieren. Welche Version verwendest du? Funktioniert das manuelle Suchen? Hast du das manuelle Suchen einmal aufgezeichnet und wie arbeitet das aufgezeichnete Makro?
Gruß
Holger

Anzeige
AW: Suchdialog über VBA aufrufen
20.01.2008 12:40:00
Wolfgang
Hi Holger
das ist Version Excel 2003.
das mauelle Suchen funktioniert ohne Probleme.
Die Makro Aufnahme gibt keinen Hinweis auf ein Dialogfeld, sondern arbeitet den Suchvorgang ab.
Sieht dann so aus:

Sub Makro1()
' Makro1 Makro
' Makro am 20.01.2008 von Wolfgang aufgezeichnet
Cells.Find(What:="T*", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
End Sub


es geht kein Dialogfeld auf!
Gruß Wolfgang

Anzeige
AW: Suchdialog über VBA aufrufen
20.01.2008 10:21:00
Gerd
Hallo Wolfgang,
ich nehme an, dass dem Dialog lediglich die Range-Basis zum Suchen fehlt.

Sub SuchDialog()
Dim S1 As Object, Rng As Range
Set S1 = Application.Dialogs(xlDialogFormulaFind)
Set Rng = Cells
With Rng
.Select
S1.Show
End With
End Sub


Gruß Gerd

Anzeige
AW: Suchdialog über VBA aufrufen
20.01.2008 12:44:00
Wolfgang
Hallo Gerd,
habe Dein Makro ausprobiert, leider ohne Erfolg, immer noch stürzt Excel ab.
Danke für Deine Hilfe
Gruß Wolfgang

upload ?
20.01.2008 13:10:00
ransi
HAllo Gerd
Kannst du die Datei mal hochladen ?
ransi

AW: upload ?
20.01.2008 14:02:00
Wolfgang
Hallo ransi,
die Orginal - Datei ist leider zu groß.
Ich habe eine Versuchsdatei angelegt aber das gleiche Problem.
https://www.herber.de/bbs/user/49215.xls
Vielen Dank für Deine Unterstützung
Gruß Wolfgang

Anzeige
AW: upload ?
21.01.2008 18:34:26
Horst
Hi,
läuft!
mfg Horst
;
Anzeige
Anzeige

Infobox / Tutorial

Suchdialog über VBA aufrufen


Schritt-für-Schritt-Anleitung

Um den Suchdialog über VBA aufzurufen, kannst Du verschiedene Makros verwenden. Hier sind die gängigsten Methoden:

  1. Basis-Makro für den Suchdialog:

    Sub SuchDialog()
       Application.Dialogs(xlDialogFormulaFind).Show
    End Sub
  2. Alternative Methode über die CommandBars:

    Sub SuchDialog()
       Application.CommandBars.FindControl(ID:=1849).Execute
    End Sub
  3. Aufruf über das Menü:

    Sub SuchDialog()
       Application.CommandBars("Worksheet Menu Bar").Controls("&Bearbeiten").Controls("Suchen...").Execute
    End Sub

Falls diese Makros nicht funktionieren und Excel abstürzt, könnte es an der Excel-Version oder an fehlenden Parametern liegen.


Häufige Fehler und Lösungen

  • Excel stürzt ab: Wenn Excel nach dem Ausführen des Suchdialogs abstürzt, prüfe, ob Du die richtige Version verwendest. Einige Benutzer berichteten über Probleme mit Excel 2003. Versuche, die Datei in einer neueren Version zu öffnen.

  • Dialog erscheint nicht: Stelle sicher, dass das Makro korrekt geschrieben ist und keine Schreibfehler enthält. Teste auch, ob das manuelle Suchen funktioniert.

  • Range-Basis fehlt: Es kann sein, dass dem Suchdialog die Basis fehlt. Probiere dieses Makro:

    Sub SuchDialog()
       Dim S1 As Object, Rng As Range
       Set S1 = Application.Dialogs(xlDialogFormulaFind)
       Set Rng = Cells
       With Rng
           .Select
           S1.Show
       End With
    End Sub

    Dies könnte helfen, den Dialog korrekt anzuzeigen.


Alternative Methoden

Falls die oben genannten Methoden nicht den gewünschten Erfolg bringen, kannst Du folgende Alternativen in Betracht ziehen:

  1. Direkte Verwendung von Cells.Find: Dies ist eine programmatische Alternative, die den Suchdialog nicht aufruft, aber den Suchvorgang automatisiert:

    Sub Makro1()
       Cells.Find(What:="T*", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
       xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
       , SearchFormat:=False).Activate
    End Sub
  2. Verwendung von UserForms: Du kannst auch ein eigenes Suchdialogfeld erstellen, indem Du ein UserForm in VBA gestaltest.


Praktische Beispiele

Hier sind einige Beispiele, wie Du den Suchdialog in unterschiedlichen Szenarien nutzen kannst:

  • Einfaches Suchen:

    Sub EinfachesSuchen()
       Application.Dialogs(xlDialogFormulaFind).Show
    End Sub
  • Suchen in einer bestimmten Range:

    Sub SuchenInRange()
       Dim Rng As Range
       Set Rng = Worksheets("Sheet1").Range("A1:A100")
       Rng.Find(What:="Suchbegriff").Activate
    End Sub

Diese Beispiele zeigen, wie vielseitig der Suchdialog in Excel VBA eingesetzt werden kann.


Tipps für Profis

  • Makros testen: Führe Deine Makros in einer Testumgebung aus, um sicherzustellen, dass sie keine unerwünschten Effekte in wichtigen Dateien verursachen.

  • Fehlerprotokollierung: Implementiere Fehlerbehandlungsroutinen, um die Ursachen von Abstürzen besser nachvollziehen zu können.

  • Versionskompatibilität: Achte darauf, dass Deine VBA-Code für verschiedene Excel-Versionen kompatibel ist und teste diese auf verschiedenen Plattformen.


FAQ: Häufige Fragen

1. Warum stürzt Excel ab, wenn ich den Suchdialog öffne?
Es könnte sein, dass Dein Excel nicht richtig konfiguriert ist oder Du eine veraltete Version verwendest. Stelle sicher, dass alle Updates installiert sind.

2. Welche Excel-Versionen unterstützen den VBA-Suchdialog?
Der Suchdialog sollte in den meisten modernen Excel-Versionen funktionieren. Einige Benutzer berichteten jedoch von Problemen in Excel 2003.

3. Kann ich den Suchdialog anpassen?
Ja, Du kannst einen eigenen UserForm erstellen, um ein benutzerdefiniertes Suchdialogfeld zu gestalten, das Deinen spezifischen Anforderungen entspricht.

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