Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellensteuerung mit Macken

Forumthread: Zellensteuerung mit Macken

Zellensteuerung mit Macken
23.03.2005 14:22:15
Johannes
Hallo Spezialisten,
folgender Code soll das Anspringen der einzelnen Zellen mit Name input[Nr] in einer festgelegten Reihenfolge und nur auf dem Blatt "Eingabe" tun - klappt auch fast immer. Immer dann nicht, wenn Excel neu gestartet wurde und die Datei das erstemal geöffnet worden ist.
Wenn ich nach dem Öffnen nur per VBA zwischen einzelne Blättern hin und herwechsele und dann wieder auf Blatt Eingabe gehe klappt es wieder - was habe ich hier übersehen ?
Option Explicit
Option Private Module
Public iSel As Integer

Sub TastenForw()
'Tastatursteuerung zur Eingabe in der Maske "Eingabe"
'in festgelegter Reihenfolge,
'zum vorwärts bewegen nur für Tabelle [Eingabe]
If ActiveSheet.Name <> "Eingabe" Then
Exit Sub
End If
On Error GoTo ErrHand
iSel = iSel + 1
Range("input" & iSel).Select
Exit Sub
ErrHand:
'Springt beim Erreichen des letzten Eingabefeldes
'zum ersten Feld zurück.
Range("input1").Select
iSel = 1
End Sub


Sub TastenBack()
'zum rückwärts-bewegen nur für Tabelle [Eingabe]
If ActiveSheet.Name <> "Eingabe" Then
Exit Sub
End If
On Error GoTo ErrHand
Dim iName As Integer
iSel = iSel - 1
Range("input" & iSel).Select
Exit Sub
ErrHand:
Range("input1").Select
End Sub

Könnte mir jemand vieleicht einen Tipp zur Problemlösung behilflich sein?
Herzlichen Dank für Eure Hilfe.
Johannes
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellensteuerung mit Macken
23.03.2005 14:33:33
Bert
Wie wird der Code aufgefufen? Vermutlich Selection_Change, oder?
Wo sind Range("Input1") und Input definiert?
Bert
Zellensteuerung mit Macken weiterer Code
23.03.2005 15:03:22
Johannes
Hallo Bert,
die Zellen haben Namen "input1" bis "input50" ... anstelle von A1, B2 etc
Code aus dem Sheet Eingabe:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Beim Schließen der Arbeitsmappe die Tastenbelegung zurücksetzen
Application.OnKey "{ENTER}"
Application.OnKey "~"
Application.OnKey "+{ENTER}"
Application.OnKey "+~"
End Sub


Private Sub Worksheet_Activate()
Application.OnKey "{ENTER}", "TastenForw"
Application.OnKey "~", "TastenForw"
Application.OnKey "+{ENTER}", "TastenBack"
Application.OnKey "+~", "TastenBack"
'Setzen des Wertes für "iSel" auf 1
'Erstes Eingabefeld selektieren
iSel = 1
Sheets("Eingabe").Select
Range("input1").Select
End Sub


Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.OnKey "{ENTER}", "TastenForw"
Application.OnKey "~", "TastenForw"
Application.OnKey "+{ENTER}", "TastenBack"
Application.OnKey "+~", "TastenBack"
End Sub


Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.OnKey "{ENTER}"
Application.OnKey "~"
Application.OnKey "+{ENTER}"
Application.OnKey "+~"
End Sub

PS: ein workaround geht indem ich in einem workbook_open das hin und herspringen durchführen lassen bei "Application.ScreenUpdating = False" um die Optik nicht zu stören.
Gruß
Johannes
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige