Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

F6 Taste über Commandbutton ausführen

Betrifft: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 11.09.2014 23:33:29

Hallo!
Ich habe kurz eine Frage.
wie kann ich die F6-Taste über einen Commandbutton ausführen?
Könnt ihr mir weiterhelfen?

  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Martin
Geschrieben am: 11.09.2014 23:48:48

Hallo Thomas,

so sollte es gehen:

Private Sub CommandButton1_Click()
    Application.SendKeys "{F6}"
End Sub
Viele Grüße

Martin


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 12.09.2014 00:27:58

Hallo Martin!
vielen Dank!
F6 soll sich aber jetzt nicht auf z. B. Excel beziehen, sondern F6 soll bei einer anderen Datenbank ausgeführt werden. Dort können durch Funktionstasten Untermenüs geöffnet werden.
Ich möchte das von Excel aus steuern. Geht das? Normalerweise müsste ich mit der Maus auf die Datenbank klicken. Drücke ich dann F6, dann öffnet sich das Untermenü geöffnet werden.


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Martin
Geschrieben am: 12.09.2014 00:42:43

Hallo Thomas,

ja, das geht. Dazu musst du nur den Fenstertitel deiner Datenbank hier in AppActivate eintragen:

Public Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)

Private Sub CommandButton1_Click()
    AppActivate "Fenstertitel", True 'Fenstertitel anpassen!
    Sleep 100
    Application.SendKeys "{F6}"
End Sub
Ich habe zur Sicherheit mal noch mit Sleep eine Wartezeit von 100 Millisekunden eingefügt. Eventuell musst du den Wert noch etwas höher setzen.

Viele Grüße

Martin


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 12.09.2014 21:29:18

Hallo Martin!
Vielen Dank!
Kannst du mir noch den Code für:
Tab
Pfeil auf, ab, links, rechts
Linke Alt-Taste (Alt) + Buchstabe z. B. Alt + I
STRG C und STRG V
Enter mitteilen.
Ausserdem: wie lautet der Code, wenn ich z. B. 2 x Pfeil ab benötige?


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 12.09.2014 21:29:27

Hallo Martin!
Vielen Dank!
Kannst du mir noch den Code für:
Tab
Pfeil auf, ab, links, rechts
Linke Alt-Taste (Alt) + Buchstabe z. B. Alt + I
STRG C und STRG V
Enter mitteilen.
Ausserdem: wie lautet der Code, wenn ich z. B. 2 x Pfeil ab benötige?


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Martin
Geschrieben am: 12.09.2014 21:58:25

Hallo Thomas,

das steht eigentlich alles ausführlich in der Excel-Hilfe:
http://msdn.microsoft.com/de-de/library/office/ff821075(v=office.15).aspx

    'Tab
    Application.SendKeys "{TAB}"

    'NACH-OBEN-TASTE
    Application.SendKeys "{UP}"

    'NACH-UNTEN-TASTE
    Application.SendKeys "{DOWN}"

    'NACH-LINKS-TASTE
    Application.SendKeys "{LEFT}"

    'NACH-RECHTS-TASTE
    Application.SendKeys "{RIGHT}"

    'Linke Alt-Taste (Alt) + Buchstabe z. B. Alt + I
    Application.SendKeys ("%i")

    'STRG C
    Application.SendKeys ("^c")

    'STRG V
    Application.SendKeys ("^v")

    'Eingabetaste
    Application.SendKeys "{RETURN}"

    'EINGABETASTE (Zehnertastatur)
    Application.SendKeys "{ENTER}"
Naja, 2 x Pfeil ab ist dann halt doppelte Anweisung:
    Application.SendKeys "{DOWN}"
    Application.SendKeys "{DOWN}"
Viele Grüße

Martin


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 12.09.2014 22:18:55

Hallo Martin!
Vielen vielen Dank!
Wünsche ein schönes WE


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 16.09.2014 19:49:31

Hallo Martin!
Habe noch eine Frage zu Sleep.
Bei der Deklaration: Public Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long
kommt folgende Fehlermeldung: Konsonaten, Zeichenfolgen fester Länge ....... und Declareanweisungen
sind als Puplic-Elemente von Objektmodulen nicht zugelassen. Kannst du da bitte nochmal nachschauten.

Wie kann ich mit einen Commandbutton einen Doppelklick mit der Maus simulieren?


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 16.09.2014 21:24:39

Hallo Martin!
Was das Sleep betrifft habe ich das Public durch Private ersetzt. Jetzt funktioniert es!
Gibt es eine Lösung für den Mausdoppelklick?


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Daniel
Geschrieben am: 16.09.2014 22:09:29

Hi

erstelle für das Objekt, dass du anstelle des Buttons Doppelt klicken willst, das BeforeDoubleclick-Event und füge dort den Code ein.

Um das Doppelklick-Event zu erstellen, geht man so vor:
1. Objekt mit der Rechten Maustaste anklicken und im Kontextmenü "Code anzeigen" auswählen (bei Tabellenblättern klickt man auf den Reiter, bei ActiveX-Objekten auf das Objekt selbst bei aktiviertem Entwurfsmodus)
2. jetzt im VBA-Editor im Linken DropDown über dem Codefenster das Objekt auswählen und im Rechten DropDown über dem Codefenster das Event.
3. das Event-Makro wird dann im Codefenster mit Start- und End-Zeile erstellt und man kann den Code dazwischen eintragen.

Gruß Daniel


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 17.09.2014 18:41:53

Hallo Daniel!
Vielen Dank!
Und wie immer gleich noch eine Frage dazu:
Martin hat mir den Quellcode geliefert:

Public Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)

Private Sub CommandButton1_Click()
           AppActivate "Fenstertitel", True 'Fenstertitel anpassen!
           Sleep 100
           Application.SendKeys "{F6}"
       End Sub
Ich hab´s mit Application.Wait (Time.Now ......) gelöst.
Ich habe 1 sec. eingestellt.
Ich möchte aber nun, wenn sich F6 nicht öffnet eine MsgBox kommt mit den Hinweis z. B.
Fenster kann nicht geöffnet werden, bitte manuel öffnen.
Wie lautet hier der Code?


  

Betrifft: AW: F6 Taste über Commandbutton ausführen von: Thomas
Geschrieben am: 17.09.2014 18:41:58

Hallo Daniel!
Vielen Dank!
Und wie immer gleich noch eine Frage dazu:
Martin hat mir den Quellcode geliefert:

Public Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)

Private Sub CommandButton1_Click()
           AppActivate "Fenstertitel", True 'Fenstertitel anpassen!
           Sleep 100
           Application.SendKeys "{F6}"
       End Sub
Ich hab´s mit Application.Wait (Time.Now ......) gelöst.
Ich habe 1 sec. eingestellt.
Ich möchte aber nun, wenn sich F6 nicht öffnet eine MsgBox kommt mit den Hinweis z. B.
Fenster kann nicht geöffnet werden, bitte manuel öffnen.
Wie lautet hier der Code?


 

Beiträge aus den Excel-Beispielen zum Thema "F6 Taste über Commandbutton ausführen"