Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UserForm-Pfeiltastenfunktion deaktivieren

UserForm-Pfeiltastenfunktion deaktivieren
05.06.2005 09:32:02
Martin
Hallo,
ich schlage mich nun schon seit mehreren Wochen mit einem Problem herum, für das es wahrscheinlich keine Lösung gibt:
Ich habe eine Userform, über die Daten in Form von Zahlen (ähnlich einem Taschenrechner) eingegeben werden! Dies habe ich realisiert, indem ich über die KeyDown-Eigenschaft den KeyCode.Value bei jedem Tastendruck über ein Makro auswerte.
Mein Problem:
Über die Pfeiltasten soll sich die aktive Zelle im Excel-Tabellenblatt entsprechend bewegen! Also bei Pfeiltaste nach oben soll die AktiveZelle um 1 nach oben springen. Beim ersten Tastenschlag geht das auch, aber danach aktiviert sich in der UserForm ein anderes Steuerelement (Textbox oder etwas anderes!). Ich konnte das Problem auch NICHT mit der Aktivierreihenfolge oder der SetFocus-Funktion beheben!
Meine Letzte Hoffnung seid Ihr! Hat von Euch jemand noch eine Lösungsidee?
Beste Grüße,
Martin

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm-Pfeiltastenfunktion deaktivieren
05.06.2005 19:27:07
MichaV
Hi,
gehts so?


      
Option Explicit
Public Taste As Byte
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Taste = 0 Then Exit Sub
Cancel = 
True
Taste = 0
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode < 36 Or KeyCode > 40 Then Exit Sub
Taste = KeyCode
Select Case Taste
Case 37: 'links
  ActiveCell.Offset(0, -1).Select
Case 38: 'hoch
  ActiveCell.Offset(-1, 0).Select
Case 39: 'rechts
  ActiveCell.Offset(0, 1).Select
Case 40: 'runter
  ActiveCell.Offset(1, 0).Select
End Select
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 37 Then TextBox1.SelStart = Len(TextBox1.Text)
End Sub 
Anzeige
AW: UserForm-Pfeiltastenfunktion deaktivieren
05.06.2005 19:58:00
MichaV
die untere Sub kannst Du natürlich weglassen, ist nur "wegen der Optik".
Dann kannst Du aus der Byte- Variablen "Taste" eine Boolean machen.
Gruss- Micha
PS: Rückmeldung wäre nett.
Herr Springer, bitte melden!
08.06.2005 11:31:35
MichaV
Tag der Herr,
"ich schlage mich nun schon seit mehreren Wochen mit einem Problem herum, für das es wahrscheinlich keine Lösung gibt"
Mich würde ja nun schon interessieren, ob das die Lösung war, die es nicht gibt. Ein Danke erwarte ich nicht, aber ich will schon wissen, ob sich meine 10 Lebensminuten, die ich für Dich investiert habe, auch gelohnt haben.
Gruss- Micha

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige