Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: In nächste Zelle springen

In nächste Zelle springen
24.08.2008 20:53:00
Peter
Wie kann ich ein dem Marko sagen, dass es am Ende eine Zelle nach rechts springen soll? Ich kann nur feste Zellen (z.B. immer A2) anwählen (Select). In diesem Fall wird das Makro immer an verschiedenen Stellen gestartet und daher immer eine andere Ziel-Zelle benötigt! Was kann man da tun? VB kann das doch bestimmt!
Schon mal herzlichen Dank für die Hilfe!
Gruß
Peter
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ActiveCell.Offset(, 1).Select oT
24.08.2008 20:55:57
Matthias
AW: ActiveCell.Offset(, 1).Select oT
24.08.2008 21:01:00
Peter
Vielen Dank für die schnelle Antwort! Funktioniert hervorragend!!!
Aber Achtung, in letzter Spalte !!!
24.08.2008 21:06:00
Matthias
Hallo
Das funktioniert aber nur solange Du nicht in der letzten Spalte bist !
Dort gibts dann einen Crash, den Du mit On Error abfangen musst.
Gruß Matthias
Anzeige
AW: In nächste Zelle springen
24.08.2008 20:59:00
Hajo_Zi
Hallo Peter,
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden sollte.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: Das mache ich später ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: mit und ohne select Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.

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

In nächste Zelle springen mit Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA in die nächste Zelle zu springen, kannst du das ActiveCell.Offset-Kommando verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.

  3. Schreibe den folgenden Code in das Modul:

    Sub NextCell()
       On Error Resume Next ' Fehler abfangen, falls letzte Spalte erreicht ist
       ActiveCell.Offset(0, 1).Select ' Eine Zelle nach rechts springen
       On Error GoTo 0 ' Fehlerbehandlung zurücksetzen
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die nächste Zelle zu erreichen.


Häufige Fehler und Lösungen

Ein häufiger Fehler ist, dass du in der letzten Spalte bist, was zu einem Absturz führt. Um dies zu vermeiden, solltest du die Fehlerbehandlung wie im obigen Code implementieren.

Wenn das Makro nicht funktioniert, überprüfe Folgendes:

  • Hast du das Makro korrekt eingefügt und gespeichert?
  • Ist die aktive Zelle nicht in der letzten Spalte?
  • Wurde der Code ohne Syntaxfehler eingegeben?

Alternative Methoden

Es gibt auch alternative Methoden, um zur nächsten Zelle zu gelangen. Du könntest beispielsweise anstelle von VBA auch die Excel-Funktionalitäten nutzen:

  • Verwende die TAB-Taste, um zur nächsten Zelle in einer Zeile zu wechseln.
  • Nutze die Pfeiltasten, um dich in der Tabelle zu bewegen.

Diese Methoden sind jedoch nicht so flexibel wie die Verwendung von VBA, wenn du spezifische Bedingungen einfügen möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Makro anpassen kannst:

  1. Springen in die nächste Zeile:

    Sub NextRow()
       ActiveCell.Offset(1, 0).Select ' Eine Zelle nach unten springen
    End Sub
  2. Springen zur nächsten Zelle, wenn ein bestimmter Wert eingegeben wird:

    Sub CheckValueAndNext()
       If ActiveCell.Value = "Weiter" Then
           ActiveCell.Offset(0, 1).Select
       End If
    End Sub

Diese Beispiele zeigen, wie du die Funktionalität deines Makros erweitern kannst.


Tipps für Profis

  • Vermeide die Verwendung von Select und Activate, um die Effizienz deines Makros zu steigern. Dies beschleunigt die Ausführung und reduziert das Flackern des Bildschirms.

  • Nutze die With-Anweisung, um den Code übersichtlicher zu gestalten:

    With ActiveCell
       .Offset(0, 1).Select
    End With
  • Teste dein Makro in verschiedenen Szenarien, um sicherzustellen, dass es in allen Fällen funktioniert.


FAQ: Häufige Fragen

1. Kann ich das Makro auf eine Tastenkombination legen?
Ja, du kannst das Makro einer Tastenkombination zuweisen, indem du im VBA-Editor auf "Extras" > "Makros" > "Optionen" klickst.

2. Funktioniert das auch in Excel 365?
Ja, der gezeigte Code funktioniert in allen modernen Excel-Versionen, einschließlich Excel 365.

3. Was passiert, wenn ich in der letzten Spalte bin?
Wenn du in der letzten Spalte bist, sorgt die Fehlerbehandlung im Code dafür, dass kein Absturz auftritt. Es wird einfach nichts ausgewählt.

4. Kann ich auch nach links oder nach oben springen?
Ja, du kannst das Offset entsprechend anpassen: ActiveCell.Offset(0, -1).Select für eine Zelle nach links und ActiveCell.Offset(-1, 0).Select für eine Zelle nach oben.

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