Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
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

Select case

Select case
Albert
Liebe Excel Spezialisten,
ich möchte bei der Eingabe in bestimmte Felder weiterspringen. Das gelingt mir auch so weit, nur bei Case 4: habe ich einen fixen Bezugspunkt den ich abfrage, das heißt, wenn in der Zelle O8 der Wert 1 steht, soll zwei Spalten weitergesprungen werden, wenn nicht, soll drei Spalten weitergesprungen werden.
Diese Anweisung soll in jeder Zeile der Tabelle funktionieren, ich schaffe die Abfrage nur mit einer Relativadresse zB: ~f~ If Cells(Target.Row + 2, 9) = "Betrag S" Then ... ~f ~
Wie muss nun die Anweisung bei Case 4: lauten?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A, B, c, d, e, f, g, h, i, j, k, l, m, n, o, p As Long
On Error GoTo c:
Select Case Target.Column
Case 2: Target.Offset(0, 1).Select
Case 3: Target.Offset(0, 1).Select
Case 4:
If Cells(Target.Offset.Address(8, 15)) = 1 Then
i = 0
j = 2
Else
i = 0
j = 3
End If
Target.Offset(i, j).Select
Vielen Dank, Albert

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Select case
10.06.2012 17:29:53
Hajo_Zi
was Du8 damit ausdrücken willst isdt muir nicht klr
Cells(Target.Offset.Address(8, 15))
man könnte vermuten in Target.Offset.Address(8, 15) steht ein numerischer Wert, dann hast Du aber noch keine Spalte für Cells angegeben.

AW: Select case
10.06.2012 17:50:52
Hajo_Zi
ich habe es falsch gesehen statt Cells muss Range stehen.
Gruß Hajo
AW: Select case
10.06.2012 17:52:22
Albert
Hallo Hajo,
wie ich schon oben beschrieben habe, ich weiß nicht, wie der Code für Case4: lauten soll.
Ziel ist, wenn in der Zelle o8 der Wert 1 steht, möchte ich, dass der Cursor nach Eingabebestätigung in der Spalte D in die Spalte F springt, wenn in o8 der Wert 2 steht soll der Cursor in die Spalte G springen. Dieser Befehl soll in Zeile 15 genauso funktionieren wie in Zeile 300.
Ich hoffe, ich habe mein Problem nun verständlich dargestellt.
Danke, Albert
Anzeige
AW: Select case
10.06.2012 18:10:49
Albert
Hallo Hajo
Ich habe den Code aufgrund Deiner Antwort folgendermaßen geändert, Cursor springt jedoch immer in Spalte F, der Wert in Zelle o8 wird nicht ausgelesen, da immer nur zwei Spalten weitergesprungen wird und nicht drei, wenn in dieser Zelle der Wert 2 steht.
Case 4:
If Range(Target.Offset.Address(8, 15)) = 2 Then
i = 0
j = 3
Else
i = 0
j = 2
End If
Target.Offset(i, j).Select
Hast Du noch eine Idee?
Danke Albert
AW: Select case
10.06.2012 18:12:24
Hajo_Zi
Hallo Albert,
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Gruß Hajo
Anzeige
AW: Select case
10.06.2012 18:18:50
Albert
Hallo Hajo,
ich habe es inzwischen gefunden, es muss eine pure "Range-Anweisung" sein ohne Target...... usw.
Vielen Dank für den Tipp, hat mir sehr geholfen
Albert
AW: Select case
10.06.2012 18:11:51
fcs
Hallo Albert,
so sollte es funktionieren.
Du solltest im Code auch die Zeile prüfen, ab der die Zellselektion nach Einabe so springen soll.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A, B, c, d, e, f, g, h, i, j, k, l, m, n, o, p As Long
On Error GoTo c:
If Target.Row >= 8 Then 'Startzeile anpassen!
Select Case Target.Column
Case 2: Target.Offset(0, 1).Select
Case 3: Target.Offset(0, 1).Select
Case 4:
If Range("O8") = 1 Then
i = 0
j = 2
Else
i = 0
j = 3
End If
Target.Offset(i, j).Select
Case 5
End Select
End If
c:
End Sub

Anzeige
AW: Select case
10.06.2012 18:24:01
Albert
Hallo Franz,
danke für Deine Hilfe, ich habe in der Zwischenzeit einfach probiert und bin aufgrund des Tipps von Hajo auf die richtige Lösung gekommen, Deinen Beitrag im Forum hatte ich da noch nicht gesehen.
Nochmals herzlichen Dank für die Unterstützung.
Albert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige