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

In erste leere Zeile springen

Forumthread: In erste leere Zeile springen

In erste leere Zeile springen
15.06.2009 12:10:12
beginner
Hallo,
weiß jemand, wie ich es einstelle (wahrscheinlich nur über Makro möglich), dass der Cursor beim Öffnen einer Excel-Datei immer in der ersten leeren Zeile erscheint? Der Bearbeiter soll nach dem Öffnen der Datei sofort erfassen können, ohne lange zu scrollen.
Die erste leere Zeile wird immer eine andere sein, da sie laufend gepflegt wird.
Würde mich mächtig über den speziellen Makro-Text freuen.
Danke und Gruß
beginner
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Erste leere Zelle der Spalte A aktivieren
15.06.2009 12:23:12
NoNet
Hallo Beginner,
kopiere dieses Makro in das Klassenmodul DieseArbeitsmappe im VBA-Editor :
VBA-Code:
Private Sub Workbook_Open()
    Sheets("Eingaben").Activate 'Das betreffende Blatt aktivieren
    If IsEmpty([A1]) Then
        [A1].Select
    Else
        [A1].End(xlDown).Offset(1).Activate 'Erste leere Zelle der Spalte A aktivieren
        'Die letzten 2 Einträge anzeigen und Bildschirm rollen :
        If ActiveCell.Row > 2 Then ActiveWindow.ScrollRow = ActiveCell.Row - 2
    End If
End Sub
Den Namen "Eingaben" des gewünschten Tabellenblattes bitte anpassen !
Gruß, NoNet
AW: In erste leere Zeile springen
Herbert

Hallo beginner
Hier im Forum werden Beiträge mit echtem Namen schneller beantwortet (siehe Regeln für dieses Forum ;-)

Private Sub Workbook_Open()
Dim iRow As Integer
With Worksheets(1)
iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End With
Cells(iRow, 1).Activate
End Sub


Gruß Herbert ( ist mein richtiger Name)

@Herbert : Ein kleiner Tipp...
NoNet

Hallo Herbert,
einen kleinen Tipp an dich : Selbst in Excel 97 gibt es "schon" 65536 Zeilen pro Tabellenblatt.
Du hast die zeilenvariable vom Typ INTEGER deklariert, diese reicht jedoch nur für 32.767 Zeilen (also die Hälfte der vorhandenen Zeilen). In Excel 2007 sind es bereits über 1 Mio. Zeilen.
Verwende daher sicherheitshalber den Typ LONG für die Zeilenvariablen.
Gruß, NoNet
@NoNet
Herbert

Hi NoNet
Danke - bin von weniger als 32.767 Zeilen ausgegangen, sonst hast Du natürlich recht.
Gruß Herbert
Danke!!
beginner

Nochmal hi NoNet und hi Herbert,
habe meinen "beginner"-Status eindrucksvoll dokumentiert und meinen Dankes-Eintrag an euch als normalen, neuen Eintrag (16.06.2009, 09:54 Uhr) eingestellt... Kann man seine Beiträge (meinen missglücktes "Danke") in diesem Forum eigentlich auch löschen?
Nochmals Danke,
Björn ; - )
Anzeige
AW: In erste leere Zeile springen
15.06.2009 12:24:33
Herbert
Hallo beginner
Hier im Forum werden Beiträge mit echtem Namen schneller beantwortet (siehe Regeln für dieses Forum ;-)

Private Sub Workbook_Open()
Dim iRow As Integer
With Worksheets(1)
iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End With
Cells(iRow, 1).Activate
End Sub


Gruß Herbert ( ist mein richtiger Name)

Anzeige
@Herbert : Ein kleiner Tipp...
15.06.2009 12:29:14
NoNet
Hallo Herbert,
einen kleinen Tipp an dich : Selbst in Excel 97 gibt es "schon" 65536 Zeilen pro Tabellenblatt.
Du hast die zeilenvariable vom Typ INTEGER deklariert, diese reicht jedoch nur für 32.767 Zeilen (also die Hälfte der vorhandenen Zeilen). In Excel 2007 sind es bereits über 1 Mio. Zeilen.
Verwende daher sicherheitshalber den Typ LONG für die Zeilenvariablen.
Gruß, NoNet
Anzeige
@NoNet
15.06.2009 12:32:27
Herbert
Hi NoNet
Danke - bin von weniger als 32.767 Zeilen ausgegangen, sonst hast Du natürlich recht.
Gruß Herbert
Danke!!
16.06.2009 10:01:22
beginner
Nochmal hi NoNet und hi Herbert,
habe meinen "beginner"-Status eindrucksvoll dokumentiert und meinen Dankes-Eintrag an euch als normalen, neuen Eintrag (16.06.2009, 09:54 Uhr) eingestellt... Kann man seine Beiträge (meinen missglücktes "Danke") in diesem Forum eigentlich auch löschen?
Nochmals Danke,
Björn ; - )
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

In die erste leere Zeile springen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel VBA die erste leere Zeile zu finden und den Cursor dorthin zu setzen, kannst du den folgenden VBA-Code verwenden. Dieser muss im "DieseArbeitsmappe"-Modul des VBA-Editors eingefügt werden:

Private Sub Workbook_Open()
    Dim iRow As Long
    With Worksheets("Eingaben") ' Ändere "Eingaben" zu deinem Tabellennamen
        iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1 ' Finde die erste leere Zeile in Spalte A
    End With
    Cells(iRow, 1).Activate ' Aktiviere die erste leere Zelle
End Sub

Dieser Code sorgt dafür, dass beim Öffnen der Datei der Cursor automatisch in die erste leere Zeile in Spalte A springt. Achte darauf, den Namen des Arbeitsblattes anzupassen.


Häufige Fehler und Lösungen

Fehler: "Runtime Error 9: Subscript out of range"

  • Ursache: Der angegebene Tabellenblattname existiert nicht.
  • Lösung: Überprüfe den Namen des Tabellenblatts und stelle sicher, dass es korrekt eingegeben wurde.

Fehler: Cursor springt nicht in die erwartete Zeile

  • Ursache: Der Code sucht möglicherweise in einer anderen Spalte.
  • Lösung: Stelle sicher, dass die korrekte Spalte in der Codezeile .Cells(Rows.Count, 1) angegeben ist.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, die erste leere Zeile zu finden und dorthin zu springen:

  1. Excel-Formel: Du kannst auch eine Formel in eine Zelle eingeben, um die erste leere Zelle zu finden:

    =MATCH(TRUE, ISBLANK(A:A), 0)

    Diese Formel muss als Matrixformel eingegeben werden (Strg + Shift + Enter).

  2. Tastenkombination: Um schnell ans Ende der Liste zu springen, kannst du Strg + Pfeil nach unten verwenden. Um wieder nach oben zu springen, nutze Strg + Pfeil nach oben.


Praktische Beispiele

  1. Springen zur nächsten leeren Zeile: Wenn du ein Makro schreiben möchtest, das zur nächsten leeren Zeile in einer bestimmten Spalte springt, könntest du folgenden Code verwenden:

    Sub NächsteLeereZeile()
       Dim iRow As Long
       With Worksheets("Eingaben")
           iRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 ' Nächste leere Zeile in Spalte A finden
       End With
       Cells(iRow, 1).Activate
    End Sub
  2. Springen zur letzten gefüllten Zeile: Um zur letzten gefüllten Zeile zu springen, kannst du diesen Code verwenden:

    Sub LetzteGefüllteZeile()
       Dim iRow As Long
       With Worksheets("Eingaben")
           iRow = .Cells(Rows.Count, 1).End(xlUp).Row ' Letzte gefüllte Zeile in Spalte A finden
       End With
       Cells(iRow, 1).Activate
    End Sub

Tipps für Profis

  • Verwendung von Long statt Integer: Stelle sicher, dass du den Datentyp Long für Zeilenvariablen verwendest, um Probleme mit großen Excel-Versionen (über 32.767 Zeilen) zu vermeiden.

  • Makros für spezifische Anwendungsfälle erstellen: Passe die oben genannten Makros an, um spezifische Anforderungen zu erfüllen, z.B. um Daten in mehreren Spalten gleichzeitig zu verwalten.

  • Schutz vor leeren Zellen: Überprüfe, ob die Zelle, in die du schreiben möchtest, nicht versehentlich bereits gefüllt ist, um Datenverluste zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich meine Makros speichern? Um deine Makros zu speichern, gehe zu "Datei" > "Speichern unter" und wähle den Dateityp "Excel-Arbeitsmappe mit Makros (*.xlsm)".

2. Kann ich ein Makro automatisch beim Öffnen der Datei ausführen? Ja, indem du den Code im Workbook_Open()-Ereignis platzierst, wird das Makro automatisch beim Öffnen der Datei ausgeführt.

3. Wie finde ich die erste leere Zelle in einer bestimmten Zeile? Verwende folgende Funktion, um die erste leere Zelle in Zeile 1 zu finden:

Dim leereZelle As Range
Set leereZelle = Worksheets("Eingaben").Rows(1).Find(What:="", LookIn:=xlValues)

4. Gibt es eine Möglichkeit, zum Anfang der Tabelle zu springen? Ja, du kannst die Tastenkombination Strg + Home verwenden, um direkt zur ersten Zelle (A1) zu springen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige