Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
AktiveX Button Funktionstaste zuweisen.
25.01.2017 21:23:42
Michael
Hallo Leute,
habe gelesen das es mit Applicatino.Sendkey {F12} ein ActivX-Button über eine Funktionstaste _ ausgelöst werden kann. Kriege aber die richtig Schreibweise nicht, jemand ein Idee

Private Sub cmd_Einzel_Kopie_Click()
Application.SendKeys (%{F12})
Call Tabelle1.einzelkopie
Unload Me
End Sub
Gruss Micha

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AktiveX Button Funktionstaste zuweisen.
25.01.2017 21:33:13
mumpel
Hallo!
Setze die Tastenkombination in Anführunsgezeichen. Application.SendKeys "%{F11}"
Gruß, René
AW: AktiveX Button Funktionstaste zuweisen.
26.01.2017 17:51:06
Michael
Hi, Rene,
leider konnte ich keine Wirkung dieser Schreibweise fest stellen. Hast du vielleicht noch eine Idee?
Private Sub cmd_Einzel_Kopie_Click()
Application.SendKeys "%{F12}"
Call Tabelle1.einzelkopie
Unload Me
End Sub
P.S.
Entschuldige Ralf, war eine Überschneidung. :)
OnKey nicht SendKeys
26.01.2017 18:06:14
ChrisL
Hi Michael
1. SendKeys geht fast immer ins Auge (kurz "zu instabil")
Ich würde eine Tastenkombination verwenden, um ein Makro zu starten.
2. Falls doch SendKeys, der Hinweis von René ist sicher richtig
3. Der Sinn deines Codes war mir erstmal gar nicht klar. Weil SendKeys "sendet" d.h. momentan drückst du mittels VBA die F-Taste, startest aber kein Makro.
4. Etwas klarer wurde es mir dank einer weit verbreiteten Suchmaschine.
http://www.supportnet.de/fresh/2006/1/id1256009.asp
Application.OnKey "{F1}", "Makro"
Ich sehe es ist ein Userform im Spiel, daher eher einem Userform-Activate/-Deactivate Ereignis zuordnen (anstelle Workbook Open wie im Link).
cu
Chris
Anzeige
AW: OnKey nicht SendKeys
28.01.2017 20:29:19
Michael
Hi Chris,
Application.OnKey funktioniert, nur nicht so wie ich es mir wünsche. Nach möglichkeit sollten die Tasten erst nach aktivierung des Formulars aktiv sein. Leider scheint es mir so, das mir der Aktivierung des Formulars die Tasten keinen Fokus mehr haben, also erst reagieren wenn das Fomular wieder geschlossen ist . Schätze ich das richtig ein? Die Tasten aktiviere ich zusammen mit dem Formular in einer If-Schleife, wie gesagt, wenn das Formular geschlossen ist reagieren diese auch. Kann man Application.OnKey an das Userform so anbinden das die Tasten mit dem erscheinen des Forumulars reagieren?
Gruss,
Micha
Anzeige
AW: OnKey nicht SendKeys
28.01.2017 20:45:47
Mullit
Hallo,
...guck Dir die Accelerator-Eigenschaft an, ausgelöst wird der Button mit dem Buchstaben-Key in Verbindung mit der Alt-Taste...
Gruß, Mullit
AW: OnKey nicht SendKeys
28.01.2017 21:04:22
Michael
Na gut,
dann eben erst mal keine Funktionstaste. :(
Danke Mullit, werde die Sacher erst mal ruhen lassen.
Gruss,
Micha
AW: OnKey nicht SendKeys
28.01.2017 22:05:15
Mullit
Hallo,
...ah so ja, nur keine Panik, Du wolltest nur die Funktionstasten haben, dann nimmst Du einfach ein Event:
Option Explicit

Private Sub CommandButton1_Click()
Call MsgBox("test")
End Sub

Private Sub CommandButton1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyF12 Then Call CommandButton1_Click
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: OnKey nicht SendKeys
29.01.2017 19:19:31
Michael
Hi Mullit,
leider reagiert das Formular nicht auf die Tasten, also wenn du nicht noch direkt was weißt, dann lass ich das erst mal so weit. Aber hier mal mein Code, vielleicht hab ich das ja falsch gelesen.
Option Explicit
Private Sub CommandButton1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) _
If KeyCode = vbKeyF4 Then Call cmd_Schließen_Click
End Sub
Private Sub cmd_Schließen_Click()
Unload Me
End Sub
Private Sub CommandButton2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) _
If KeyCode = vbKeyF8 Then Call cmd_Einzel_Kopie_Click
End Sub
Private Sub cmd_Einzel_Kopie_Click()
'Application.SendKeys "%{F12}"
Call einzelkopie
Unload Me
End Sub
Private Sub CommandButton3_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) _
If KeyCode = vbKeyF12 Then Call cmd_Kopien_Reihe_Click
End Sub
Private Sub cmd_Kopien_Reihe_Click()
'Application.SendKeys "%{F8}"
Call kopieren(anzahlKop)
Unload Me
End Sub

Anzeige
AW: OnKey nicht SendKeys
29.01.2017 20:24:58
Mullit
Hallo Michael,
ah nein, Du darfst die Events nicht allgemein nach CommandButton1 benennen, Du mußt sie nach Deinen vorhandenen Buttons benennen, das geht am besten mit den Dropdowns rechts oben im UserForm-Modul, damit werden Dir die Events automatisch richtig generiert.
Wenn Du immer alle drei Funktionstasten feuern möchtest, dann so:
Option Explicit

Private Sub cmd_Schließen_Click()
   Unload Me
End Sub

Private Sub cmd_Einzel_Kopie_Click()
   Call einzelkopie
   Unload Me
End Sub

Private Sub cmd_Kopien_Reihe_Click()
    Call kopieren(anzahlKop)
    Unload Me
End Sub

Private Sub cmd_Einzel_Kopie_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Call prcKeyEvent(pvlngKeyCode:=KeyCode)
End Sub

Private Sub cmd_Kopien_Reihe_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Call prcKeyEvent(pvlngKeyCode:=KeyCode)
End Sub

Private Sub cmd_Schließen_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Call prcKeyEvent(pvlngKeyCode:=KeyCode)
End Sub

Private Sub prcKeyEvent(ByVal pvlngKeyCode As Long)
  Select Case pvlngKeyCode
      Case Is = vbKeyF4: Call cmd_Schließen_Click
      Case Is = vbKeyF8: Call cmd_Einzel_Kopie_Click
      Case Is = vbKeyF12: Call cmd_Kopien_Reihe_Click
  End Select
End Sub

Gruß, Mullit
Anzeige
AW: OnKey nicht SendKeys
29.01.2017 20:36:06
Michael
Ahhh.... ich berichte dann, jetzt ist es mir aber zu spät. Vielen Dank Mullit. Und die Hilfsbereitschaft hier ist ja mal wirklich überragend!!!! :)
Funzt, und danke für das Copy & Pace :) k.w.T
29.01.2017 22:09:57
Michael
Funzt, und danke für das Copy & Pace :)
AW: OnKey nicht SendKeys
28.01.2017 22:10:12
Mullit
Hallo,
...ach ja übrigens, was Werner Dir da gerade zu den Public-Vars schreibt, hatt ich Dir schon mehrfach in dem anderen Thread geraten, glaub's mir ruhig...
Gruß, Mullit
AW: AktiveX Button Funktionstaste zuweisen.
26.01.2017 17:52:21
Michael
Hi, Rene,
leider konnte ich keine Wirkung dieser Schreibweise fest stellen. Hast du vielleicht noch eine Idee?
Private Sub cmd_Einzel_Kopie_Click()
Application.SendKeys "%{F12}"
Call Tabelle1.einzelkopie
Unload Me
End Sub
P.S.
Entschuldige Ralf, war eine Überschneidung. :)
Anzeige
AW: AktiveX Button Funktionstaste zuweisen.
26.01.2017 17:55:04
Michael
Hi, Rene,
leider konnte ich keine Wirkung dieser Schreibweise fest stellen. Hast du vielleicht noch eine Idee?
Private Sub cmd_Einzel_Kopie_Click()
Application.SendKeys "%{F12}"
Call Tabelle1.einzelkopie
Unload Me
End Sub
P.S.
Entschuldige Ralf, war eine Überschneidung. :)
AW: AktiveX Button Funktionstaste zuweisen.
29.01.2017 19:39:23
mumpel
Die Tastenkombination Alt+F12 zeigt bei mir auch keinerlei Wirkung, weder manuell noch per VBA.

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige