wie kann ich innerhalb einer Spalte die letzte noch beschriftete Zelle auslesen und weiterverarbeiten, wenn ich nicht weiß welche Zelle es ist.
danke
daniel
Sub letzte_zelle()
Dim lastcell As Range
Dim r As Long
Set lastcell = ActiveSheet.Range("A1").End(xlDown)
r = lastcell.Row
MsgBox (r)
End Sub
Sub letzte_zelle()
Dim r As Long
r = Range("A65536").End(xlUp).Row
Range("B11") = r
End Sub
Private Sub Workbook_Open()
letzte_zelle 'der Name der Prozedur
End Sub
Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
Klicke im Projektfenster mit der rechten Maustaste auf den Namen deiner Datei und wähle "Einfügen" > "Modul".
Kopiere den folgenden Code in das Modul:
Sub letzte_zelle()
Dim r As Long
r = Range("A65536").End(xlUp).Row
Range("B11") = Cells(r, 1) ' Gibt den Inhalt der letzten beschrifteten Zelle in Spalte A in Zelle B11 aus
End Sub
Um das Makro automatisch beim Öffnen der Arbeitsmappe ausführen zu lassen, füge folgenden Code in "DieseArbeitsmappe" ein:
Private Sub Workbook_Open()
letzte_zelle ' der Name der Prozedur
End Sub
Schließe den VBA-Editor und speichere die Datei als Makro-fähige Arbeitsmappe (*.xlsm).
Schließe die Datei und öffne sie erneut, um zu testen, ob das Makro funktioniert.
Fehler beim Ausführen des Codes: Stelle sicher, dass du den Code in ein allgemeines Modul eingefügt hast. Klicke dazu mit der rechten Maustaste auf ein Tabellenregister und wähle "Code anzeigen".
Zufallswerte werden ausgegeben: Dies kann passieren, wenn deine Zellen nicht durchgängig mit Werten gefüllt sind. Verwende den Code, der von unten nach oben sucht, um das Problem zu vermeiden.
Der Code wird nicht erkannt: Stelle sicher, dass ".End" korrekt eingegeben wurde und dass du den richtigen Typ für deine Variablen verwendest.
Eine alternative Methode, die in Google Tabellen verwendet werden kann, um den letzten Wert einer Spalte auszulesen, wäre die Verwendung der Formel:
=INDEX(A:A, MAX((A:A<>"")*(ROW(A:A))))
Diese Formel gibt den letzten nicht leeren Wert in Spalte A zurück und funktioniert gut in Google Tabellen.
Wert in einer Zelle ausgeben: Der folgende Code gibt den Wert der letzten beschrifteten Zelle in Spalte A in Zelle B11 aus:
Sub letzte_zelle()
Dim r As Long
r = Range("A65536").End(xlUp).Row
Range("B11") = Cells(r, 1) ' Zeile: letzte Zeile also r, Spalte 1 also A
End Sub
Automatisierung des Prozesses: Der Code im Abschnitt "Schritt-für-Schritt-Anleitung" sorgt dafür, dass der letzte Wert der beschrifteten Zelle bei jedem Öffnen der Arbeitsmappe automatisch aktualisiert wird.
Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.Application.ScreenUpdating = False und True umschalten, während das Makro läuft.Range("B65536").End(xlUp).Row, um die letzte beschriftete Zelle in Spalte B zu finden.1. Wie finde ich die letzte beschriftete Zelle in einer anderen Spalte?
Ändere einfach die Zeile r = Range("A65536").End(xlUp).Row in r = Range("B65536").End(xlUp).Row für Spalte B.
2. Funktioniert das auch in Google Tabellen?
Ja, in Google Tabellen kannst du die Formel =INDEX(A:A, MAX((A:A<>"")*(ROW(A:A)))) verwenden, um den letzten Wert einer Spalte auszulesen.