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

Forumthread: VBA Cursor bestimmte Zelle springen

VBA Cursor bestimmte Zelle springen
15.07.2020 10:20:16
Fritz_W
Hallo Forumsbesucher,
ich bitte um Unterstützung der VBA-Kundigen wie folgt:
Ich würde gerne - für die Tabelle1 - folgendes bewerkstelligen
nach Eingabe eines Wertes in Zelle M3 soll der Cursor direkt in die Zelle A13 sowie
nach Eingabe eines Wertes in Zelle M13 soll der Cursor direkt in die Zelle A23 sowie
nach Eingabe eines Wertes in Zelle M23 soll der Cursor direkt in die Zelle A33
springen.
Für Eure Hilfen im Voraus besten Dank.
mfg
Fritz
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Cursor bestimmte Zelle springen
15.07.2020 10:30:31
Hajo_Zi
Hallo Fritz,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 13 And Target  "" And Target.Row Mod 10 = 3 Then
Target.Offset(0, -12).Select
End If
End Sub

Anzeige
AW: VBA Cursor bestimmte Zelle springen
15.07.2020 11:14:44
Fritz_W
Hallo Hajo,
vielen Dank für Deine Hilfe, hat geklappt.
Bei dem geposteten Code sprang der Cursor in die Zelle A der gleichen Zeile und nicht 10 Zeilen tiefer,
aber vermutlich war das ein Tippfehler (Target.Offset(0, -12).Select). Hab ich wie folgt angepasst und es hat dann funktioniert: Target.Offset(10, -12).Select
mfg
Fritz
Anzeige
Zeilenoffset fehlt...
15.07.2020 11:15:23
Werner
Hallo,
...und dass das nach M23 so weiter gehen soll, steht im Eingangsbeitrag nicht.
Gruß Werner
AW: VBA Cursor bestimmte Zelle springen
15.07.2020 11:13:46
Werner
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim raBereich As Range
Set raBereich = Union(Range("M3"), Range("M13"), Range("M23"))
If Not Intersect(raBereich, Target) Is Nothing Then
If Target  "" Then
Target.Offset(10, -12).Select
End If
End If
Set raBereich = Nothing
End Sub
Gruß Werner
Anzeige
AW: VBA Cursor bestimmte Zelle springen
15.07.2020 11:32:37
Fritz_W
Hallo Werner,
super, auch Dir ganz herzlichen Dank.
mfg
Fritz
Gerne u. Danke für die Rückmeldung und..
15.07.2020 11:47:02
Werner
Hallo,
...jetzt würde es mich noch interessieren, ob das alle 10 Zeilen fortgesetzt werden soll, oder ob wirklich nur die 3 von dir angesprochenen Zellen davon betroffen sein sollen?
Gruß Werner
AW: Gerne u. Danke für die Rückmeldung und..
18.07.2020 09:04:28
Fritz_W
Hallo Werner,
habe eben erst Deine Frage entdeckt, auf die ich gerne antworte:
Für mein Anliegen sollen nur die 3 angesprochenen Zellen betroffen sein.
Das wurde von Dir doch auch genau so umgesetzt?
Bitte um nochmals um Entschuldigung, dass ich erst so spät auf Deine Frage geantwortet habe.
Gruß und schönes WE
Fritz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA Cursor auf bestimmte Zelle springen


Schritt-für-Schritt-Anleitung

Um den Excel VBA Cursor auf bestimmte Zellen zu setzen, befolge diese Schritte:

  1. Öffne Excel und gehe zu der Tabelle, in der Du den Code anwenden möchtest.

  2. Starte den VBA-Editor mit der Tastenkombination Alt + F11.

  3. Im VBA-Editor öffne das Projektfenster (falls es nicht sichtbar ist, drücke Strg + R).

  4. Doppelklicke auf deine Tabelle (z.B. Tabelle1), um das Codefenster zu öffnen.

  5. Kopiere den folgenden Code in das rechte Fenster:

    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim raBereich As Range
       Set raBereich = Union(Range("M3"), Range("M13"), Range("M23"))
       If Not Intersect(raBereich, Target) Is Nothing Then
           If Target <> "" Then
               Target.Offset(10, -12).Select
           End If
       End If
       Set raBereich = Nothing
    End Sub
  6. Schließe den VBA-Editor.

  7. Teste den Code, indem Du einen Wert in die Zellen M3, M13 oder M23 eingibst.


Häufige Fehler und Lösungen

  • Fehler: Der Cursor springt nicht an die richtige Zelle.

    • Lösung: Überprüfe den Offset im Code. Stelle sicher, dass Target.Offset(10, -12).Select korrekt ist, um den Cursor 10 Zeilen nach unten und 12 Spalten nach links zu bewegen.
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass das Makro in der richtigen Tabelle eingefügt wurde und dass die Datei im richtigen Format gespeichert ist (z.B. .xlsm für Makros).

Alternative Methoden

Eine alternative Methode, um den Excel Cursor in Zelle zu setzen, ist die Verwendung von Schaltflächen oder Formularsteuerelementen. Du kannst eine Schaltfläche erstellen, die beim Klicken den Cursor an die gewünschte Stelle springt:

  1. Füge eine Schaltfläche in deine Excel-Tabelle ein (Entwicklertools > Einfügen > Schaltfläche).

  2. Weisen der Schaltfläche den folgenden Code zu:

    Sub CursorSpringen()
       Range("A13").Select
    End Sub
  3. Du kannst die Schaltfläche auch so anpassen, dass sie zu anderen Zellen springt.


Praktische Beispiele

Wenn Du den VBA Cursor auf verschiedene Zellen setzen möchtest, kannst Du den Code entsprechend anpassen. Hier ein Beispiel, das den Cursor auf drei verschiedene Zellen springt:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$M$3" Then
        Range("A13").Select
    ElseIf Target.Address = "$M$13" Then
        Range("A23").Select
    ElseIf Target.Address = "$M$23" Then
        Range("A33").Select
    End If
End Sub

Mit diesem Code springt der Cursor direkt in die entsprechenden Zellen, wenn Du in M3, M13 oder M23 einen Wert eingibst.


Tipps für Profis

  • Nutze die Funktion Application.Goto, um den Cursor präzise zu steuern. Beispiel:

    Application.Goto Range("A13")
  • Du kannst auch Bedingungen einfügen, um den Cursor nur unter bestimmten Umständen zu setzen, wie z.B. bei bestimmten Werten.

  • Verwende die Worksheet_SelectionChange-Ereignisse, um den Cursor zu setzen, wenn Zellen ausgewählt werden.


FAQ: Häufige Fragen

1. Wie kann ich den Cursor auf eine Zelle setzen, wenn ich eine andere Zelle auswähle? Du kannst das Worksheet_SelectionChange-Ereignis verwenden, um den Cursor zu setzen, wenn eine bestimmte Zelle ausgewählt wird.

2. Was passiert, wenn ich den Code in einer anderen Excel-Version benutze? Der Code sollte in den meisten modernen Excel-Versionen funktionieren. Überprüfe jedoch die Kompatibilität, falls Du eine sehr alte Version verwendest.

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