Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1100to1104
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

ShortKeys für gesamte UserForm "gültig machen"

ShortKeys für gesamte UserForm "gültig machen"
Martin
Hallo,
ich habe ein UserForm mit zahlreichen Elementen (Labels, Frames, Combo- & Textboxen, OptionButtons usw.). Es ist eine große Erleichterung, dass über Tastenkombinationen mit dem Keydown-Ereignis bestimmte Makros bzw. Funktionen ausgelöst werden können.
Beispiel:
Sub ListBox1_KeyDown(ByVal KeyCode As ReturnInteger, ByVal Shift As Integer) 'Strg+F
Call KeyControl(KeyCode, Shift)
End Sub
Meine Frage: Muss ich wirklich für jedes Steuerelement ein KeyDown-Ereignis anlegen oder kann ich irgendwie ein für Elemente der UserForm die Shortkeys global festlegen?
Viele Grüße
Martin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ShortKeys für gesamte UserForm "gültig machen"
02.09.2009 12:00:57
JogyB
Hi.
Leg doch eine Klasse an.
Gruss, Jogy
AW: ShortKeys für gesamte UserForm "gültig machen"
02.09.2009 12:08:07
Martin
Hallo Jogy,
vielen Dank für deine Antwort. Leider reichen meine Excel-Kentnisse dafür dann doch nicht aus. Würdest Du mir bitte kurz erläutern wie das genau geht? Sicherlich muss ich ein Klassenmodul anlegen, aber ab hier weiß ich leider nicht weiter...
Viele Grüße
Martin
AW: ShortKeys für gesamte UserForm "gültig machen"
02.09.2009 13:01:59
JogyB
Hi.
Als Beispiel: Du erstellst ein Klassenmodul mit dem Namen cls_Controls
In dieses kommt folgender Code
Public WithEvents listCls As MSForms.ListBox
Private Sub listCls_Click()
MsgBox ("Taste gedrückt")
End Sub
In das Userform kommt folgendes:
Dim clsColl As New Collection
Private Sub UserForm_Initialize()
Dim myCtl As Control
Dim clsCtl As cls_Controls
For Each myCtl In Me.Controls
If TypeName(myCtl) = "ListBox" Then
Set clsCtl = New cls_Controls
Set clsCtl.listCls = myCtl
clsColl.Add clsCtl
End If
Next
End Sub

Das KeyDown Ereignis gilt dann für alle ListBoxen in der UserForm. Willst Du das auch für andere Controls haben, dann mußt Du das für diese analog durchführen (kann alles in dieselbe Klasse, nur muss eben eine andere Variable für den Controltyp deklariert werden).
Gruss, Jogy
Anzeige
AW: ShortKeys für gesamte UserForm "gültig machen"
02.09.2009 13:17:18
Martin
Hallo Jogy,
vielen Dank für die ausführliche Beschreibung. Den Rest sollte ich selbst schaffen. Du hast mir echt weitergeholfen!
Viele Grüße
Martin

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige