wie lautet den script um per Makro den cursor auf die erste leere Zelle in eine Spalte zu posizionieren?
Wenn eine Spalte komplett leer ist, soll natürlich von die erste Zeile anfangen (erste nicht leere Zelle).
Vielen Dank im Voraus
Gruß
Nibio
Dim LRow As Long, LCol As Long
LCol = 1 'Spalte angeben?
LRow = IIf(IsEmpty(Cells(Rows.Count, LCol)), Cells(Rows.Count, LCol).End(xlUp).Row, Cells(Rows.Count, LCol).Row)
LRow = IIf(IsEmpty(Cells(LRow, LCol)), LRow, LRow + 1)
Cells(LRow, LCol).Select
Gruß Tino
If Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
Range("A1").Select
Else
Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).select
End If
Hilfts?
If Cells(Rows.Count, 18).End(xlUp).Row = 1 Then
Range("R1").Select
Else
Range("R" & Cells(Rows.Count, 18).End(xlUp).Row + 1).Select
End If
If Cells(Rows.Count, 18).End(xlUp).Row = 1 And Range("R1").Value = "" Then
Range("R1").Select
Else
Range("R" & Cells(Rows.Count, 18).End(xlUp).Row + 1).Select
End If
In der ersten Zeile wird geprüft, ob die letzte, benutzte Zelle in Zeile 1 liegt und ob diese Zelle leer ist.Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Long
Dim c As Long
On Error Resume Next
Application.EnableEvents = False
c = ActiveCell.Column
r = Cells(Cells.Rows.Count, c).End(xlUp).Row
If Not (r = 1 And Cells(r, c) = "") Then
r = r + 1
End If
Cells(r, c).Select
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim LRow As Long, LCol As Long
Application.EnableEvents = False
LCol = Target(1).Column 'Spalte angeben?
LRow = IIf(IsEmpty(Cells(Rows.Count, LCol)), Cells(Rows.Count, LCol).End(xlUp).Row, Cells(Rows.Count, LCol).Row)
LRow = IIf(IsEmpty(Cells(LRow, LCol)), LRow, LRow + 1)
Cells(LRow, LCol).Select
Application.EnableEvents = True
End Sub
Gruß TinoSub Makro1()
End Sub
Wenn ich die Lösung von Tino einfüge, dann finde ich das makro nicht in der Liste (es fängt _
nicht mit
Sub Makroname an). Ich mache meine Makros per aufzeichnung, und später kleine anpassungen in _
den script, wie z.B spingen bis zu letzte nicht leere Zeile usw...
Ich möchte mich an euch allen trotzdem bedanke.
Gruß
Nibio
Um den Kursor in Excel zur nächsten leeren Zelle zu bewegen, kannst Du ein Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
Öffne Excel und das Arbeitsblatt, in dem Du arbeiten möchtest.
Öffne den VBA-Editor: Drücke ALT + F11
.
Füge ein neues Modul hinzu:
Füge den folgenden Code ein:
Sub SpringeZurErstenLeerenZelle()
Dim LRow As Long
Dim LCol As Long
LCol = 1 ' Hier die Spalte angeben (1 für A, 2 für B, usw.)
LRow = IIf(IsEmpty(Cells(Rows.Count, LCol)), Cells(Rows.Count, LCol).End(xlUp).Row, Cells(Rows.Count, LCol).Row)
LRow = IIf(IsEmpty(Cells(LRow, LCol)), LRow, LRow + 1)
Cells(LRow, LCol).Select
End Sub
Schließe den VBA-Editor.
Führe das Makro aus: Drücke ALT + F8
, wähle „SpringeZurErstenLeerenZelle“ und klicke auf „Ausführen“.
Jetzt springt der Kursor zur nächsten leeren Zelle in der angegebenen Spalte.
Fehler: "Typ nicht definiert"
Problem: Kursor springt nicht zur ersten leeren Zelle
LCol = 1
für Spalte A).Hinweis: Kursor bleibt in der ersten Zeile
Excel-Tastenkombinationen:
STRG + Pfeil nach unten
-Tastenkombination verwenden, um schnell zur letzten gefüllten Zelle in einer Spalte zu springen. Von dort kannst Du dann mit der Pfeiltaste zur nächsten leeren Zelle navigieren.Formeln nutzen:
Hier ist ein Beispiel, wie Du den Kursor in die erste leere Zelle in der Spalte R springen lassen kannst:
Sub SpringeZuErsterLeerenZelleInR()
If Cells(Rows.Count, 18).End(xlUp).Row = 1 And Range("R1").Value = "" Then
Range("R1").Select
Else
Range("R" & Cells(Rows.Count, 18).End(xlUp).Row + 1).Select
End If
End Sub
Dieses Skript prüft zuerst, ob die Zelle R1 leer ist, und springt dann entweder zu R1 oder zur nächsten leeren Zelle in der Spalte R.
Debug.Print
innerhalb Deines Makros, um Werte zu überprüfen und Fehler schneller zu identifizieren.1. Wie kann ich ein Makro in Excel ausführen?
Um ein Makro auszuführen, drücke ALT + F8
, wähle das gewünschte Makro aus und klicke auf „Ausführen“.
2. Was mache ich, wenn ich einen Fehler im Makro bekomme? Überprüfe den Code auf Syntaxfehler. Du kannst auch den Debugger verwenden, um Schritt für Schritt durch den Code zu gehen und den Fehler zu finden.
3. Wie kann ich die Spalte im Makro ändern?
Ändere die Zahl in LCol = 1
auf die entsprechende Spaltennummer. Zum Beispiel ist Spalte B die 2, Spalte C die 3, usw.
4. Kann ich die Funktion an einen Button binden? Ja, Du kannst einen Button in Excel erstellen und das Makro mit diesem Button verknüpfen, um die Funktion auszuführen, wenn Du darauf klickst.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen