Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1728to1732
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

Pfeiltaste per VBA ansprechen

Pfeiltaste per VBA ansprechen
30.12.2019 13:58:46
Ernst
Hallo Forum
Ich benötige Eure Hilfe.
Mit dem unten stehenden Code füge ich ein Kürzel ein.
Nun möchte ich nicht die Zahlentastatur hierfür verwenden, sondern die Pfeiltastatur, d.h., anstelle
der Zahlentaste z.B. 8 die Pfeiltaste nach oben und dadurch soll "o" eingefügt werden.
Bitte um Hilfe
mfg
Ernst Dunkel
Dim r As Integer
Dim c As Integer
For r = Target.Row To Target.Row + Target.Rows.Count - 1
For c = Target.Column To Target.Column + Target.Columns.Count - 1
If c = 2 And r > 19 And r Application.EnableEvents = False
If Cells(r, c) = "8" Then Cells(r, c) = "o"
If Cells(r, c) = "2" Then Cells(r, c) = "u"
If Cells(r, c) = "4" Then Cells(r, c) = "l"
If Cells(r, c) = "6" Then Cells(r, c) = "r"

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfeiltaste per VBA ansprechen
30.12.2019 14:43:12
Nepumuk
Hallo Ernst,
in das Modul "DieseArbeitsmappe":
Option Explicit

Private Sub Workbook_Activate()
    With Application
        Call .OnKey(Key:="{UP}", Procedure:="'Insert ""o""'")
        Call .OnKey(Key:="{DOWN}", Procedure:="'Insert ""u""'")
        Call .OnKey(Key:="{LEFT}", Procedure:="'Insert ""l""'")
        Call .OnKey(Key:="{RIGHT}", Procedure:="'Insert ""r""'")
    End With
End Sub

Private Sub Workbook_Deactivate()
    With Application
        Call .OnKey(Key:="{UP}")
        Call .OnKey(Key:="{DOWN}")
        Call .OnKey(Key:="{LEFT}")
        Call .OnKey(Key:="{RIGHT}")
    End With
End Sub

in ein Standardmodul (Menüleiste - Einfügen - Modul):
Option Explicit

Public Sub Insert(ByVal pvstrLetter As String)
    ActiveCell.Value = pvstrLetter
End Sub

Gruß
Nepumuk
Anzeige
AW: Pfeiltaste per VBA ansprechen
30.12.2019 15:58:00
Ernst
Hallo Nepumuk
Vielen Dank für Deine Hilfe.
Im Prinzip funktioniert Dein Code, jedoch möchte ich nicht das Makro manuell ausführen, sondern automatisch! Die Pfeiltasten sollen nur in der Zelle B20 bis B42 zum Beispiel "o" einfügen.
AW: Pfeiltaste per VBA ansprechen
30.12.2019 16:03:32
Nepumuk
Hallo Ernst,
ich versteh nicht. Das Makro wird ausgeführt wenn du auf eine der Pfeiltasten drückst, so habe ich das aus deiner Anfrage verstanden. Dass das nur in bestimmten Zellen gilt ist jetzt nicht eingebaut.
Gruß
Nepumuk
AW: Pfeiltaste per VBA ansprechen
30.12.2019 16:36:53
Ernst
Wahrscheinlich habe ich mein Problem nicht korrekt beschreiben.
Im unten stehenden Code möchte ich nicht mit den Zahlentasten ein "o" etc. einfügen, sondern einfacher mit der Pfeiltastatur.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Integer
Dim c As Integer
For r = Target.Row To Target.Row + Target.Rows.Count - 1
For c = Target.Column To Target.Column + Target.Columns.Count - 1
If c = 2 And r > 19 And r 

Anzeige
AW: Pfeiltaste per VBA ansprechen
30.12.2019 16:41:32
Nepumuk
Hallo Ernst,
das geht nicht ohne die Tasten, so wie ich das gezeigt habe, in eine Prozedur umzuleiten.
Gruß
Nepumuk
AW: Pfeiltaste per VBA ansprechen
30.12.2019 17:00:28
Ernst
Vielen Dank für die Antwort, schade das es nicht geht!
lg
Ernst Dunkel
AW: Pfeiltaste per VBA ansprechen
30.12.2019 18:48:43
Mullit
Hallo,
Nun möchte ich nicht die Zahlentastatur hierfür verwenden, sondern die Pfeiltastatur, d.h.,  _
anstelle
der Zahlentaste z.B. 8 die Pfeiltaste nach oben und dadurch soll "o" eingefügt werden. 
Im Prinzip funktioniert Dein Code, jedoch möchte ich nicht das Makro manuell ausführen, sondern automatisch! Die Pfeiltasten sollen nur in der Zelle B20 bis B42 zum Beispiel "o" einfügen.

da will ich doch nochmal einhaken, bez. auf die beiden Punkte macht Nepumuks Code doch genau was Du willst: automatisiert über die Pfeiltasten einen Buchstaben/Zeichen einfügen.
Du brauchst da nix manuell ausführen, Nepumuks Code ist eventgesteuert, die beiden Ereignisprozeduren gehören ins Arbeitsmappenmodul und belegen den Arrow-Key neu, die Proc Insert wird über die Events getriggert, nicht manuell, Dein Change-Event wird dann nicht mehr benötigt...
Den Bereich könnte man( insbes. Nepumuk ;-)) auch noch einschränken...
Gruß, Mullit
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige