Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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
Inhaltsverzeichnis

OnKey in UserForm

OnKey in UserForm
02.10.2008 14:48:00
selli
hallo liebe leute,
ich stehe vor einem problem, für dass ich zwar im forum eine lösung gefunden habe, jedoch scheint mir diese für meine anwendung recht aufwendig zu sein und hoffe, mir kann jemand einen einfacheren weg aufzeigen.
ich möchte in einer userform, die viele steuerelemente enthält per tastendruck (keine tastenkombi) einen code ausführen. so wie das im normalen tabellenblatt mit der onkey-methode möglich ist.
etwas ähnliches kann ich in einer userform erreichen, wenn ich dem ereignis keydown eines jeden steuerelements eine abfrage zufüge, welche taste gedrückt wurde und bei übereinstimmung mit meiner vorgabe dann der code ausgeführt wird.
nun habe ich sehr viele steuerelemente und es ist sehr aufwendig dies umzusetzen.
gibt es hierfür einen einfacheren weg? wenn ja, zeigt ihn mir bitte.
viele grüße
selli
p.s.: bitte nicht vom level täuschen lassen. ich möchte gerne selbst entscheiden, ob ich in der lage bin eure vorschläge umzusetzen.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OnKey in UserForm
02.10.2008 15:48:11
Heinz
Hi,
du müsstest schon etwas genauer beschreiben, was du wann vorhast.
mfg Heinz
AW: OnKey in UserForm
02.10.2008 16:10:13
selli
hallo heinz,
cih möchte, dass wenn die taste "q" oder "pfeil" (bsp) gedrückt wird ein code ausgeführt wird.
gruß selli
AW: OnKey in UserForm
02.10.2008 18:01:00
Heinz
Hi,
wenn das unabhängig von irgendwelchen Ereignissen der controls passieren soll, so hatte ich das zumindest verstanden, muss da ein Timer laufen, der den AsynchroneKeyState, das ist eine
API-Funktion, überwacht und entsprechend reagiert. Leider gibts ja in VBA keinen echten Timer
als control, sodass du ihn mittels API nachbilden musst. Beispiele dazu findest du im Archiv, achte besonders auf den Namen Nepumuk, der hat da schon öfter etwas gebracht.
mfg Heinz
Anzeige
AW: OnKey in UserForm
02.10.2008 18:53:00
Tino
Hallo,
habe hier mal etwas über ein Klassenmodul zusammengestellt. (ausbaufähig)
Wird die Taste F12 gedrückt, wird dass Makro MeinMakro im Modul1 ausgeführt.
Dialog UserForm1
Option Explicit 
Private Sub UserForm_Initialize() 
    Dim CoCb As Control 
    Dim InI As Integer 
    Redim Preserve COption(UserForm1.Controls.Count) 
     For Each CoCb In Me.Controls 
       
        Select Case TypeName(CoCb) 
         
        Case "CommandButton" 'CommandButten 
            Set COption(InI).objButten = CoCb 
            InI = InI + 1 
        Case "TextBox" 'TextBox 
            Set COption(InI).objText = CoCb 
            InI = InI + 1 
        Case "CheckBox" 'CheckBox 
            Set COption(InI).objCheck = CoCb 
            InI = InI + 1 
        End Select 
    Next CoCb 
 
End Sub 
 
Private Sub UserForm_Terminate() 
Erase COption 
End Sub 

Modul Modul1

Option Explicit 
Public COption() As New Klasse1 
Sub MeinMakro() 
MsgBox "Geht Sie ahben die Taste F12 gedrückt" 
End Sub 

Klassenmodul Klasse1

Option Explicit 
Public WithEvents objText As MSForms.TextBox 
Public WithEvents objButten As MSForms.CommandButton 
Public WithEvents objCheck As MSForms.CheckBox 
Private Sub objText_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 
 If KeyCode = 123 Then Call MeinMakro 
End Sub 
Private Sub objButten_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 
 If KeyCode = 123 Then Call MeinMakro 
End Sub 
Private Sub objCheck_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 
 If KeyCode = 123 Then Call MeinMakro 
End Sub 


Gruß Tino

Anzeige
AW: OnKey in UserForm
06.10.2008 09:02:08
selli
hallo tino, hallo heinz,
vielen vielen dank für eure hinweise.
ich glaube mit den ansätzen kann ich gut etwas anfangen und werde versuchen das auf meine bedürfnisse anzupassen.
nochmals danke und
viele grüße selli

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige