Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Grenzen von VBA?
Gehe zu Seite 1, 2  Weiter
zurück: Tabellenblatt kopieren, vorhandene Tab- Namen zählen weiter: einfügen einer datei Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
HWO
Gast


Verfasst am:
11. Nov 2005, 11:19
Rufname:

Grenzen von VBA? - Grenzen von VBA?

Nach oben
       

Halle Experten,
bekomme leider keinen Tipp zu folgender Frage:
Nach dem Aufruf einer Dialogbox (Excel2003) mit dem Code:

Application.CommandBars.FindControl(ID:=1849).Execute

wird die Dialogbox durch Klick auf die darin enthaltene Schaltfläche "Schließen" geschlossen. Dabei soll gleichzeitig ein Makro gestartet werden. Wie ist das möglich? Suche schon verzweifelt nach einer Lösung, aber bisher erfolglos. Geht es hier mit VBA nicht weiter?

Gruß HWO
maninweb
Microsoft Excel MVP 2014


Verfasst am:
11. Nov 2005, 14:33
Rufname: maninweb
Wohnort: Aachen


AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hi HWO...

hab's mir mal angeschaut und habe meine großen Zweifel, ob sich
für Dein Problem ein (dokumentierte) Lösung finden lassen wird.
Auch deswegen, weil Execute() eine Sub ist und somit nichts
zurückgeben kann.

Gruss

maninweb
-----------
HWO
Gast


Verfasst am:
11. Nov 2005, 17:22
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hallo maninweb,
bin froh, daß sich jemand meldet. Die Dialogbox kann ich auch mit dem Code:

Application. SendKeys "^f", True

aufrufen. Ändert sich dann etwas an Deiner Aussage, oder ist das Thema damit beendet?

Gruß HWO
Gast



Verfasst am:
11. Nov 2005, 18:42
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Sub test()
msg = Application.Dialogs(xlDialogFormulaFind).Show
MsgBox msg
End Sub
HWO
Gast


Verfasst am:
12. Nov 2005, 10:56
Rufname:


AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hallo an alle,
wahrscheinlich drücke ich mich total falsch aus! Es geht mir nicht darum, diese Dialogbox aufzurufen (das klappt schon sehr gut), sondern einfach darum:

Beim Schließen einer (irgendeiner) Dialogbox soll ein Makro gestartet werden. Wie kann man den Schließen-Befehl abfangen und zum Makro-Start verwenden?

Das ist das ganze Problem, aber ich habe bisher noch keine Lösung gefunden!

Gruß HWO
neu_hier
Gast


Verfasst am:
12. Nov 2005, 11:35
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Sub test()
Application.Dialogs(xlDialogFormulaFind).Show
Call deinMakro
End Sub
HWO
Gast


Verfasst am:
12. Nov 2005, 12:02
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hallo neu_hier,
danke für Deine Mühe. Die mit diesem Befehl aufgerufene Dialogbox ist für mich unbrauchbar, weil sie die Option "Suchen alle" nicht enthält (ist erst ab Excel2003 vorhanden). Außerdem interessiert mich der Aufruf der Dialogbox gar nicht, denn das Aufruf-Makro ist beendet.
Ich will beim Schließen der Dialogbox ein neues Makro starten!
Gruß HWO
maninweb
Microsoft Excel MVP 2014


Verfasst am:
12. Nov 2005, 14:24
Rufname: maninweb
Wohnort: Aachen

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hi HWO...

Zitat:

Beim Schließen einer (irgendeiner) Dialogbox soll ein Makro gestartet werden.
Wie kann man den Schließen-Befehl abfangen und zum Makro-Start verwenden?

Das würde ja bedeuten, dass Dein Makro immer dann angestoßen werden
soll, wenn der User einen Excel-Dialog schließt, richtig?

Das geht so nicht, jedenfalls nicht ohne sehr sehr gute API Kenntnisse.
Zudem würdest Du in Excel selbst, heißt in den/die Prozess/e eingreifen
wollen, ohne eigentlich genau zu wissen, was MS da genau programmiert
hat. Also nicht empfehlenswert.

Gruss

maninweb
-----------
HWO
Gast


Verfasst am:
12. Nov 2005, 18:46
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hallo maninweb,

da ich schon die ganze Zeit danach suche und niemand eine Lösung angeboten hat, habe ich mir bald gedacht, daß es so ausgeht.
Trotzdem noch ein letzter Versuch:
Ursprünglich wollte ich mit einem Makro die Dialogbox "Suchen und Ersetzen" starten, dann sollte das Makro stehen bleiben, bis die Suchfunktion abgeschlossen ist, und beim Schließen der Dialogbox sollte das Makro weiterlaufen bis zum Ende.
Es gelingt mir aber nicht, das Makro an der bewußten Stelle anzuhalten. Gibt es evt. dafür eine Lösung?

Gruß HWO
neu_hier
Gast


Verfasst am:
12. Nov 2005, 18:59
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Sub test()
ActiveSheet.UsedRange.Select
Application.Dialogs(xlDialogFormulaFind).Show
'ab hier bleibt bei mir das Makro stehen bis Dialogbox geschlossen wird
'Liegt es vllt am Excel2000???
MsgBox ActiveCell.Value
End Sub
Peter Marchert
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Nov 2005, 21:08
Rufname:

Dialogproblem - Dialogproblem

Nach oben
       

Hallo miteinander,

das, was neu_hier geschrieben hat, kann ich bedingt für Excel 2003 bestätigen. Bedingt, weil es nur funktioniert, wenn man den Dialog ohne zu suchen gleich wieder schließt, anderenfalls kommt eine Fehlermeldung.

Ich habe aber einen anderen Vorschlag:
Verwenden Sie ein eigenes Formular mit 2 Feldern für suchen und ersetzen (und gegebenenfalls Optionsbuttons) und benutzen Sie dann anschließend die Replace-Methode, um den Ersetzenvorgang durchzuführen.

Code:
Replace-Methode, wie sie auf das Range-Objekt angewendet wird.

Gibt einen Boolean-Wert zurück, der Zeichen in Zellen des angegebenen Bereichs kennzeichnet. Bei Verwendung dieser Methode wird weder die Markierung noch die aktive Zelle geändert.

Ausdruck.Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat)
Ausdruck      Erforderlich. Ein Ausdruck, der ein Range-Objekt zurückgibt.

What      Variant erforderlich. Die Zeichenfolge, die Microsoft Excel suchen soll.

Replacement     Variant erforderlich.  Die ersetzende Zeichenfolge.

LookAt      Optional Variant. Kann eine der folgenden XlLookAt-Konstanten sein: xlWhole or xlPart.

SearchOrder      Optional Variant. Kann eine der folgenden XlSearchOrder-Konstanten sein: xlByRows or xlByColumns.

MatchCase      Optionaler Variant-Wert. True, wenn Groß- und Kleinschreibung bei der Suche berücksichtigt wird.

MatchByte      Variant optional. Sie können dieses Argument nur verwenden, wenn in Microsoft Excel die 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.

SearchFormat     Optionaler Variant-Wert. Das Suchformat für die Methode.

ReplaceFormat     Optionaler Variant-Wert. Das Ersetzungsformat für die Methode.


Liebe Grüße
Peter Marchert

_________________
Tipps, Tricks & Tools für
Microsoft® Office Outlook®
HWO
Gast


Verfasst am:
12. Nov 2005, 22:04
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Halle an alle,

danke für die Unterstützung.
An neu_hier: Der Code:
Application.Dialogs(xlDialogFormulaFind).Show
ist für mich nicht brauchbar, weil hier die Option "Suchen alle" fehlt. Setze ich dafür die anderen beiden Möglichkeiten des Dialogbox-Aufrufes ein:
Application.SendKeys "^f", True und
Application.CommandBars.FindControl(ID:=1849).Execute
dann funktioniert die vorgeschlagene Methode nicht.

An Marchert:
Ich will nur Suchen, ersetzen wird gar nicht gebraucht! Aber beim Suchen gibt es viele "Findungen" (oder wie soll ich dazu sagen), und die können mit der Option "Suchen alle" in der Dialogbox angezeigt werden. Das soll genutzt werden und somit bin ich einigermaßen eingeschränkt.
Die Replace-Methode ist dann auch nicht geeignet.

Gruß an alle
HWO
Peter Marchert
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Nov 2005, 22:43
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hallo HWO,

noch ein Versuch:
Code:

'=============================================================================================
' Fensterhandle ermitteln
'=============================================================================================
Public Declare Function FindWindow Lib "user32" Alias _
      "FindWindowA" (ByVal lpClassName As String, ByVal _
      lpWindowName As String) As Long


Sub FindAll()

    '------------------------------------------------------------------------
    ' Ruft den Suchen- und Ersetzendialog auf und unterbricht die Ausführung,
    ' bis entweder der Dialog wieder geschlossen, oder der TimeOut abgelaufen ist.
    '------------------------------------------------------------------------

    Dim lngHandle   As Long
    Dim lngStart    As Long
    Dim lngTimeOut  As Long
   
    lngTimeOut = 10     'in Sekunden
    lngStart = Timer
   
    Application.CommandBars.FindControl(ID:=1849).Execute
   
    Do
   
        lngHandle = FindWindow(vbNullString, "Suchen und Ersetzen")
       
        DoEvents
       
    Loop While lngHandle <> 0 And lngStart + lngTimeOut > Timer
 
    MsgBox "Ende"
   
End Sub


Gruß
Peter

_________________
Tipps, Tricks & Tools für
Microsoft® Office Outlook®
HWO
Gast


Verfasst am:
13. Nov 2005, 11:39
Rufname:

AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hallo Peter,
habe heute morgen Deinen Vorschlag gleich ausprobiert und es hat auch prima geklappt, aber als ich einen Suchbegriff eingegeben habe, der mit Sicherheit in der Tabelle vorhanden ist, da war Ruhe. Es wird bei mir keine Suche gestartet, warum eigentlich nicht?
Gruß HWO
Peter Marchert
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Nov 2005, 11:59
Rufname:


AW: Grenzen von VBA? - AW: Grenzen von VBA?

Nach oben
       

Hallo HWO,

habe den Code nicht richtig getestet. Er funktioniert nicht.

Entschuldigung bitte, werde sehen, ob es noch eine andere Möglichkeit gibt. Melde mich auf jeden Fall noch einmal.

Gruß
Peter

_________________
Tipps, Tricks & Tools für
Microsoft® Office Outlook®
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formate: Grenzen für Farbverlauf bei bedingter Formatierung definiere 2 SirThrawn 83 06. Aug 2013, 16:01
Gast Grenzen für Farbverlauf bei bedingter Formatierung definiere
Keine neuen Beiträge Excel Hilfe: Blattschutz ( -grenzen des machbaren ? ) 5 michaela.bln 116 16. März 2013, 11:50
michaela.bln Blattschutz ( -grenzen des machbaren ? )
Keine neuen Beiträge Excel Formeln: Graph mit automatischen Grenzen 2 donoka 448 19. Jan 2012, 15:20
donoka Graph mit automatischen Grenzen
Keine neuen Beiträge Excel VBA (Makros): Wenn Dann funktion in Grenzen 4 Bachelorand 388 13. Dez 2011, 16:51
Bachelorand Wenn Dann funktion in Grenzen
Keine neuen Beiträge Excel Formeln: Summenbildung zwischen zwei grenzen 14 Gast 562 02. Sep 2011, 11:53
Gast Summenbildung zwischen zwei grenzen
Keine neuen Beiträge Excel Hilfe: Automatisieren über die Grenzen von Excel 1 alecgreat 178 21. Jul 2011, 09:52
helikopf Automatisieren über die Grenzen von Excel
Keine neuen Beiträge Excel VBA (Makros): wo liegen die Grenzen von Excel? bezüglich For-Schleife 13 Christoph24 384 04. Nov 2010, 19:02
Phelan XLPH wo liegen die Grenzen von Excel? bezüglich For-Schleife
Keine neuen Beiträge Excel VBA (Makros): Berechnungen für Wertebereiche mit vorgegebenen Grenzen 9 Ann 862 07. Jul 2010, 10:04
Ann Berechnungen für Wertebereiche mit vorgegebenen Grenzen
Keine neuen Beiträge Excel VBA (Makros): Wert überprüfen ob er innerhalb von Grenzen liegt 6 Ana2010 1119 18. Feb 2010, 17:52
Ana2010 Wert überprüfen ob er innerhalb von Grenzen liegt
Keine neuen Beiträge Excel VBA (Makros): dringend hilfe mit grenzen einalten 2 nurra 285 12. Jun 2009, 17:54
nurra dringend hilfe mit grenzen einalten
Keine neuen Beiträge Excel Auswertungen: Grenzen der x-Achse durch Formel??? 6 Leon683 474 16. Jul 2008, 10:34
Leon683 Grenzen der x-Achse durch Formel???
Keine neuen Beiträge Excel Formeln: SVerweis ist an seine Grenzen gestoßen! 2 Gast 544 01. Jul 2008, 10:40
c0bRa SVerweis ist an seine Grenzen gestoßen!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: CSS Forum