Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
SendKeys zum Letzten
zurück: Verweise automatisch abfragen und ggfs. aktualisieren weiter: Über ein Userform Daten in eine Tabelle eintragen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
HWO
Gast


Verfasst am:
01. Nov 2005, 17:19
Rufname:

SendKeys zum Letzten - SendKeys zum Letzten

Nach oben
       

Hallo,
In einem Excel2003-Makro öffne ich die Dialogbox "Suchen und Ersetzen" über den Code: SendKeys "^h", True
und beende das Makro.
Nach der Arbeit mit der Dialogbox soll beim Klick auf "Schließen" ein neues Makro gestartet werden. Wie ist das zu realisieren?
Gruß HWO
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
02. Nov 2005, 22:43
Rufname:
Wohnort: Leipzig


AW: SendKeys zum Letzten - AW: SendKeys zum Letzten

Nach oben
       

Hallo HWO,

wie wäre es denn, wenn du den Suchen/Ersetzen-Dialog direkt aus dem Makro aufrufst (ohne SendKeys):
Code:
Application.Dialogs(xlDialogFormulaReplace).Show

Das hat den Vorteil, dass dein Makro danach weitergehen kann (oder einfach eine weitere Prozedur aufruft).

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
HWO
Gast


Verfasst am:
03. Nov 2005, 18:19
Rufname:

AW: SendKeys zum Letzten - AW: SendKeys zum Letzten

Nach oben
       

Hallo Lisa,
ich freue mich, daß Du Dich noch an mich erinnert hast, und an mein dämliches Problem. Es ist alles komplizierter als man denkt! Ich schreibe noch mal meinen vereinfachten Code auf. Voraussetzung: Eine Datei mit einer Tabelle namens "Menü" und einer anderen Tabelle namens "Tab1".
Code:
Sub SuchenAlles()
    Sheets("Tab1").Visible = True
    Sheets("Tab1").Select
    Sheets("Tab1").Unprotect
    Range("B2").Select
'1.        Application.Dialogs(xlDialogFormulaReplace).Show
'2.        Application.CommandBars.FindControl(ID:=1849).Execute
'3.        Application.SendKeys "^f", True
    ButtonClose = Application.Dialogs(xlDialogFormulaReplace).Show
    If ButtonClose = True Then
        Worksheets("Menü").Select
        Worksheets("Menü").Select
        Range("A5").Select
        Sheets("Tab1").Protect
        Sheets("Tab1").Visible = False
    End If
End Sub
Inzwischen kenne ich schon 3 Möglichkeiten, um "Suchen und Ersetzen" aufzurufen:
Fall1: Die damit angezeigte Dialogbox enthält nicht die Option "Suchen alles" und ist für mich nicht brauchbar!!!!
Fall2: Die Dialogbox enthält die Option "Suchen alles", aber wenn ich den Code bei "ButtonClose = " einfüge, dann meckert der Debugger und ich weiß nicht weiter.
Fall3: Die Dialogbox enthält die Option "Suchen alles", aber auch hier ist der Code nicht für ButtonClose zu verwenden!
Jetzt kenne ich zwar mit "If ButtonClose" einen Code, um das Makro nach dem Schließen fortzusetzen, aber leider nicht mit der richtigen Dialogbox. Die Option "Suchen alles" gibt es offensichtlich noch nicht bei Office2000, sondern erst bei einer höheren Version. Trotzdem sollten doch aber die Codes für alle Versionen gleichermaßen gelten.
Ich bin gespannt, ob doch noch jemand eine Lösung findet. Ich habe schon so viel Hilfe bekommen, und bin bald verzweifelt, weil ich immer noch keine Erfolgsmeldung abgeben kann!
Gruß HWO
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
03. Nov 2005, 19:31
Rufname:
Wohnort: Leipzig

AW: SendKeys zum Letzten - AW: SendKeys zum Letzten

Nach oben
       

Hallo HWO,

jetzt wird es klarer. Du hast di CommandBar-ID ja schon gefunden. So habe ich es gerade zum Laufen gekriegt:
Code:
Sub SuchenAlles()

    Dim myControl
   
    Sheets("Tab1").Visible = True
    Sheets("Tab1").Select
    Sheets("Tab1").Unprotect
    Range("B2").Select
   
    Set myControl = Application.CommandBars.FindControl(ID:=1849)
    If myControl.Execute = 0 Then
        Worksheets("Menü").Select
        Worksheets("Menü").Select
        Range("A5").Select
        Sheets("Tab1").Protect
        Sheets("Tab1").Visible = False
    End If

End Sub

Statt = 0 kannst du natürlich auch andere Rückgabewerte ausprobieren (-2, -1 oder auch >0), am besten probieren.

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
HWO
Gast


Verfasst am:
04. Nov 2005, 11:52
Rufname:

AW: SendKeys zum Letzten - AW: SendKeys zum Letzten

Nach oben
       

Hallo Lisa,
vielen Dank für Deine Mühe! Leider klappt es bei mir immer noch nicht wie gewünscht. Ich habe Deinen Vorschlag genau ausprobiert und es passiert folgendes:
Gebe ich "0" oder ">0" ein, dann läuft das Makro einfach weiter bis zum Ende, d.h. ich kann auf Tab1 nicht "Suchen"!
Gebe ich eine Zahl kleiner 0 ein (egal welche), dann bleibt das Makro wie gewünscht auf der Tab1 stehen und die Dialogbox erscheint. Aber, wenn ich auf "Schließen" klicke, dann verschwindet zwar die Dialogbox, das Makro läuft jedoch nicht weiter.
Deshalb hatte ich ja die Idee von 2 getrennten Makros. Eines, welches die Dialogbox öffnet und ein Zweites, welches gestartet wird, wenn ich bei der Dialogbox auf "Schließen" klicke.
Na, ja, wie auch immer! Ich bin gespannt wie es weitergeht und ob Du mir noch einmal einen neuen Vorschlag machen kannst.
Gruß HWO
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
04. Nov 2005, 14:17
Rufname:
Wohnort: Leipzig

AW: SendKeys zum Letzten - AW: SendKeys zum Letzten

Nach oben
       

Hallo HWO,

ja, du hast Recht. Aber bis hierhin funktioniert das Makro ja:
Code:
Sub SuchenAlles()

    Dim myControl As CommandBarButton
   
    Sheets("Tab1").Visible = True
    Sheets("Tab1").Select
    Sheets("Tab1").Unprotect
    Range("B2").Select
   
    Set myControl = Application.CommandBars.FindControl(ID:=1849)
    myControl.Execute

Das gewünschte Dialogfeld steht bereit und kann benutzt werden. Du solltest am besten jetzt die Experten nochmal fragen, wie man die Rückgabewerte von CommandBarButtons abfragen kann bzw. wie man das Schließen des Dialogs abfangen kann. Ich würde den obigen Code so einstellen und direkt fragen, wie man den Rückgabewert eines CommandBarButtons kriegen kann. (Frage nach Dialogfeld bringt nichts, weil es zwar sicher eins ist, aber eben leider ein in der Hilfe nicht kommentiertes. Deswegen führt das in die Irre. Es wäre so schön einfach, wenn du den "normalen" Dialog benutzen könntest)
Ich stehe auch noch am Anfang mit VBA und weiß zu den CommandBars noch nicht viel. (Habe schon gemerkt, dass langes Probieren an sich nicht viel bringt, besser ist es, man lernt richtig VBA, dann kommt man auch an den Punkt, wo dieses Thema behandelt wird - werde ich jetzt wieder tun. Sorry)

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
HWO
Gast


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


AW: SendKeys zum Letzten - AW: SendKeys zum Letzten

Nach oben
       

Hallo Lisa,
vielen Dank für die Mühe. Werde Deinem Rat folgen und eine neue Anfrage starten.
Aber ich habe noch ein anderes Problem:
Habe in einem Menü mehrere nicht zusammenhängende Eingabefelder definiert, die ich mit dem Kursor nacheinander anspringen möchte, egal, ob eine Eingabe erfolgte oder nicht. Also z.B. es geht los mit
C4, dann nach E4, dann G4, dann K4, dann wieder C7, E7, G7, K7 usw.
D.h. ich möchte mit <ENTER> die gewünschten Zellen anspringen, egal ob eine Eigabe erfolgte oder nicht.
Gibt es für so was eine Lösung?
Gruß HWO
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
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 Formeln: mittelwert der letzten 30tage, aber nicht jeder tag existier 2 aubih 384 12. Mai 2009, 13:41
aubih mittelwert der letzten 30tage, aber nicht jeder tag existier
Keine neuen Beiträge Excel Formeln: Aktueller Wert dividiert durch den letzten Wert 6 wangbao 389 25. Feb 2009, 01:17
wangbao Aktueller Wert dividiert durch den letzten Wert
Keine neuen Beiträge Excel Formeln: SUMMEWENN über die letzten n Werte 3 Gast 380 04. Dez 2008, 12:07
gion toji SUMMEWENN über die letzten n Werte
Keine neuen Beiträge Excel Formeln: Letzten Wert anzeigen ?! 16 Steven7 609 29. Nov 2008, 13:29
Steven7 Letzten Wert anzeigen ?!
Keine neuen Beiträge Excel Formeln: Formel dynamisch gestalten bis zur letzten beschriebenen zel 2 MARINIE 196 13. Nov 2008, 16:28
MARINIE Formel dynamisch gestalten bis zur letzten beschriebenen zel
Keine neuen Beiträge Excel Formeln: Anzeigen der letzten ausgefüllten Zelle 5 tobi sbk 1721 01. Okt 2008, 13:05
neopa Anzeigen der letzten ausgefüllten Zelle
Keine neuen Beiträge Excel Formeln: letzten bestimmten Wert einer Spalte finden 6 Hydrogist 502 15. Jul 2008, 16:06
Gast letzten bestimmten Wert einer Spalte finden
Keine neuen Beiträge Excel Formeln: Filtern nach der letzten Zahl 5 WordShop 615 16. Jun 2008, 15:39
WordShop Filtern nach der letzten Zahl
Keine neuen Beiträge Excel Formeln: Letzten 3 Werte>0 addieren (in Zeile) 8 Motormann 393 28. Feb 2008, 18:16
HermannZ Letzten 3 Werte>0 addieren (in Zeile)
Keine neuen Beiträge Excel Formeln: Ersten und letzten Wert ausgeben 2 Gast 387 21. Nov 2007, 19:23
ALFALFA Ersten und letzten Wert ausgeben
Keine neuen Beiträge Excel Formeln: letzten Tag eines Monats finden 19 Corina 1297 21. Nov 2007, 10:00
landau66 letzten Tag eines Monats finden
Keine neuen Beiträge Excel Formeln: Kein Währungsformat nach abschneiden der letzten stelle 2 Monchi 586 09. Jul 2007, 18:05
Monchi Kein Währungsformat nach abschneiden der letzten stelle
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Word Serienbriefe