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

nächste Zelle bei End(xlToRight)

Forumthread: nächste Zelle bei End(xlToRight)

nächste Zelle bei End(xlToRight)
07.02.2009 14:06:50
Michael
Hallo!
Wie komme ich zur nächsten Zelle! C5 wird ausgegeben. A:C sind Daten. D ist lehr! Ich möchte nunmehr nach d5?Geht das mit End(xlToRight) überhaupt?
Danke

Sub LetzteZellePlus()
With Sheets("Tabelle2")
.Activate
.Range("B5").End(xlToRight).Select
End With
MsgBox "Letzte Zelle in Zeile 5: " & ActiveCell.Address
End Sub


Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nächste Zelle bei End(xlToRight)
07.02.2009 14:10:58
Ramses
Hallo
Das geht so

Sub LetzteZellePlus()
dim lastC as long
With Sheets("Tabelle2")
lastC = .cells(5,columns.count).End(xlToRight)
End With
MsgBox "Letzte Zelle in Zeile 5: " & cells(5,lastc).address
MsgBox "Erste freie Zelle in Zeile 5: " & cells(5,lastc +1).address
End Sub


Gruss Rainer

Anzeige
AW: nächste Zelle bei End(xlToRight)
07.02.2009 14:31:21
Michael
Hallo! Habe einen Laufzeitfehler! 1004
lastc ist immer 0 Columns.Count ist 256 End(xlToRight ist -4161?
Gruß Michael
sorry,..
07.02.2009 14:40:00
Ramses
Hallo
Man sollte halt nicht einfach so auf die schnelle schreiben
Option Explicit

Sub LetzteZellePlus()
    Dim lastC As Long
    With Sheets("Tabelle1")
        lastC = .Cells(5, Columns.Count).End(xlToLeft).Column
    End With
    MsgBox "Letzte Zelle in Zeile 5: " & Cells(5, lastC).Address
    MsgBox "Erste freie Zelle in Zeile 5: " & Cells(5, lastC + 1).Address
End Sub

.... es gibt nämlich kein "xlToRight" :-(
Gruss Rainer
Anzeige
AW: auch sorry,..
07.02.2009 15:44:00
Gerd
Hallo Rainer!

Sub test()
MsgBox Cells(5, 1).End(xlToRight).Address
End Sub


Gruß Gerd

AW: auch sorry,..
07.02.2009 18:40:38
Ramses
Hallo
Das war ja nicht die Frage:
Ich habe den Code so angepasst auf die Frage, dass er die Informationen erhält wie er gefragt hat
Was er draus macht, ist mir wurscht
Gruss Rainer
PS:
Diese Zeichenolympiaden mag ich sowieso nicht
Anzeige
AW: nächste Zelle bei End(xlToRight)
07.02.2009 14:41:00
hary
hallo Michael
versuch mal so.

lastC = cells(5,columns.count).End(xlToLeft).column +1


alternativ zu Deinem Code
.Range("B5").Offset(0, 2).Select
Gruss Hary
Frage was suchst Du die letzte leere zelle, oder die feste in D

Anzeige
;
Anzeige

Infobox / Tutorial

Nächste Zelle bei End(xlToRight) finden


Schritt-für-Schritt-Anleitung

Um die nächste Zelle nach einem bestimmten Punkt in Excel VBA zu finden, kannst Du den Befehl End(xlToRight) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Gib den folgenden Code ein:

    Sub LetzteZellePlus()
        Dim lastC As Long
        With Sheets("Tabelle2")
            lastC = .Cells(5, Columns.Count).End(xlToLeft).Column
            MsgBox "Letzte Zelle in Zeile 5: " & Cells(5, lastC).Address
            MsgBox "Erste freie Zelle in Zeile 5: " & Cells(5, lastC + 1).Address
        End With
    End Sub
  4. Führe das Skript aus: Markiere das Skript und drücke F5 oder klicke auf Run.

Mit diesem Skript wird die letzte Zelle in Zeile 5 ermittelt und die erste freie Zelle auf der rechten Seite angezeigt.


Häufige Fehler und Lösungen

Fehler 1: Laufzeitfehler 1004

  • Problem: lastC ist immer 0.
  • Lösung: Stelle sicher, dass Du die richtige Sheet-Referenz verwendest und dass die Zellen in der Zeile tatsächlich Werte enthalten. Ansonsten wird End(xlToLeft) möglicherweise nicht korrekt funktionieren.

Fehler 2: End(xlToRight) nicht erkannt

  • Problem: Ein Benutzer hat bemerkt, dass es xlToRight nicht gibt.
  • Lösung: Verwende stattdessen .End(xlToLeft), um die letzte Zelle zu finden. Der Befehl End(xlToRight) ist nicht gültig in VBA.

Alternative Methoden

Falls Du eine alternative Methode zur Ermittlung der nächsten Zelle benötigst, kannst Du Selection.End(xlToRight) verwenden. Hier ein Beispiel:

Sub NächsteZelle()
    Selection.End(xlToRight).Select
End Sub

Hierbei wird die nächste Zelle in der aktuellen Auswahl ermittelt und ausgewählt.


Praktische Beispiele

Beispiel 1: Auswahl der nächsten Zelle

Wenn Du die nächste Zelle in einer bestimmten Zeile auswählen möchtest, kannst Du den folgenden Code verwenden:

Sub NächsteZelleAuswählen()
    Range("B5").Select
    Selection.End(xlToRight).Select
End Sub

Beispiel 2: Erste leere Zelle in einer Zeile finden

Um die erste leere Zelle in einer Zeile zu finden, kannst Du diesen Code verwenden:

Sub ErsteLeereZelle()
    Dim lastC As Long
    lastC = Cells(5, Columns.Count).End(xlToLeft).Column + 1
    MsgBox "Erste leere Zelle in Zeile 5: " & Cells(5, lastC).Address
End Sub

Tipps für Profis

  • Nutze Option Explicit, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Teste Deinen Code schrittweise, um sicherzustellen, dass jede Zeile wie erwartet funktioniert.
  • Vermeide die Verwendung von Select, wenn es nicht nötig ist. Direkte Zellreferenzen sind effizienter.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen End(xlToRight) und End(xlToLeft)?
End(xlToRight) sucht die nächste Zelle in einer Zeile nach rechts, während End(xlToLeft) die Zelle nach links sucht.

2. Wie kann ich die letzte Zelle in einer gesamten Spalte finden?
Du kannst Cells(Rows.Count, Spalte).End(xlUp) verwenden, um die letzte Zelle in einer Spalte zu finden. Zum Beispiel:

Sub LetzteZelleSpalte()
    MsgBox Cells(Rows.Count, 1).End(xlUp).Address
End Sub

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