Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
356to360
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
356to360
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

onkey

onkey
29.12.2003 20:23:22
felix
Hallo,

habe folgendes Problem:

in spalte 6 ("F") möchte ich alle tasten ausschalten bis auf "a, f, o, r".
(bei allen anderen Tasten soll sich eine Msgbox öffnen)

spalte = target.column

If spalte = 6 then
Application.OnKey "alle Tasten" ,"BoxÖffnen"
Application.OnKey "a", "aktien"
Application.OnKey "f", "fonds"
Application.OnKey "o", "optionen"
Application.OnKey "r", "renten"
else
Application.OnKey "alle Tasten"
(alle Tasten haben wieder ihre normale funktion)
end if

Kann mir jemand den Code verraten? Habe dazu nichts passendes gefunden.

Vielen Dank
Gruß
Felix

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

Betreff
Datum
Anwender
Anzeige
AW: onkey
29.12.2003 21:39:25
Ramses
Hallo

das geht nur über Umwege und, wie ich glaube, auf keinen Fall mit vertretbarem Aufwand für alle Tasten.
"Alle Tasten" bedeutet schliesslich jegliche Tastenkombination !!! und nicht nur einzelne Tasten.
Du müsstest dann auch so exotische Varianten wie "Ctrl"+"Shift"+"." abfangen ;-))

Wie der Code bereits zeigt, Application.OnKey ist eine Systemeinstellung und kann nicht auf einzelne Zellen angewandt werden.
Ein Workaround sähe so aus

Das gehört in das Modul "Diese Arbeitsmappe"


Option Explicit

Private Sub Workbook_Open()
Application.OnKey "a", "Aktien"
Application.OnKey "f", "Fonts"
Application.OnKey "o", "Optionen"
Application.OnKey "r", "Renten"
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



... und dieser Code gehört in ein Modul:


Sub aktien()
Select Case ActiveSheet.Name
    Case "Tabelle1"
        If ActiveCell.Column = 6 Then
            MsgBox "OK"
            'Dein Code
            Exit Sub
        Else
            Application.EnableEvents = False
            ActiveCell.Value = "a"
            Application.EnableEvents = True
        End If
End Select
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



Sinngemäss auch für die anderen Makros wie "Renten", "Optionen" und "Fonds"

Gruss Rainer
Anzeige
AW: onkey
29.12.2003 21:59:04
felix
Vielen Dank Rainer,

leider ist es nicht das was ich brauche. Muß mir wohl eine andere Lösung ausdenken.

(In Spalte 6 sollte sich nur die MsgBox öffnen, wenn die Tasten "a","f","o" oder "r" nicht gedrückt werden. Jede ander Taste würde dann über application.onkey ein Makro mit der MsgBox starten.

Bei "a","f","o" oder "r" sollten über application.onkey die entsprechenden Makros gestartet werden.)

Dennoch vielen Dank

Gruß
Felix
Hast du das überhaupt probiert :-(
29.12.2003 22:08:49
Ramses
Hallo

"...Bei "a","f","o" oder "r" sollten über application.onkey die entsprechenden Makros gestartet werden..."

Da würde ich doch mal sagen, dass du das gar nicht getestet hast.

... aber weiterhin viel Spass bei der Suche :-)

Gruss Rainer
Anzeige
AW: KLARO
29.12.2003 22:16:47
felix
Hallo Rainer,
selbstverständlich ist mir klar das die Makros durch "a","f","o" oder "r" über application.onkey gestartet werden. Nur der rest der Idee ist eben nicht verwirklicht und von daher für mich unbrauchbar.

Ich möchte dich sonst auch nicht weiter bemühen, da du ja auch schon geschrieben hast das der Rest sehr kompliziert ist.

Gruß
Felix
Alles klar :-) Geschlossen o.T.
29.12.2003 22:20:27
Ramses
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige