1.4k Aufrufe
Gefragt in Tabellenkalkulation von fedjo Experte (2.2k Punkte)
Hallo Excelfreunde,
gibt es noch leere Zellen, ab der ActivenCell nach oben in der Spalte?

Die leere Zelle finde ich mit:
Range("C65536").End(xlUp).Offset(0, 0).Select

Der Code funktioniert leider nicht:
If IsEmpty(ActiveCell.End(xlUp))

1 Text
2 Text
3 Leer
4 Text
5 Leer
6 Text ActiveCell

Gruß
fedjo

9 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
benutze find von Zeile 1 bis zur Activen Zelle.

Gruß Hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Hajo,
wie lautet der Cod?

Gruß
fedjo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)

Option Explicit

Sub naechste_leere_Zelle()
'**************************************************
'* H. Ziplies *
'* 11.06.2012 *
'* erstellt von HajoZiplies@WEB.de Spam *
'* http://Hajo-Excel.de *
'**************************************************
Dim RaFound As Range
' Spalte A
Set RaFound = Range("A1:A" & Rows.Count).Find("", , , xlPart, , xlNext)
If Not RaFound Is Nothing Then
MsgBox RaFound.Address
End If
Set RaFound = Nothing
End Sub


du musst nur die Letzte Zelle des Suchbereichs anpassen, oder vergkleichen ob Ergebnis >Active Zelle.
Gruß Hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Hajo,
es gelingt mir einfach nicht die die Letzte Zelle des Suchbereichs mit der ActivenCell anpassen, oder das Such Ergebnis mit der ActivenCell zu vergleichen.

Ich bräuchte da noch mal deine Hilfe.

Danke

Gruß
fedjo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Du hast doch nun schon einige Fragen zu VBA gestellt, da muss doch lngsam was hängen bleiben.
Set RaFound = Range("A1:A" &ActiveCell.Row).Find("", , , xlPart, , xlNext)

Gruß Hajo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
falls Du Deinen Beitrag wörtlich übersetzen willst geht es nur mit Schleife. Der andere Code findet die erste leere von oben.

Option Explicit

Sub nachste_leere_nach_oben_Spalte_A()
Dim loI As Long
For loI = ActiveCell.Row To 1 Step -1
If Cells(loI, 1) = "" Then
MsgBox Cells(loI, 1).Address
Exit For
End If
Next loI
End Sub


Gruß Hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Hajo,
es hat jetzt einige Zeit gedauert, um deinen Code in den Makros und UserForm zu testen.

Mit deiner Antwort5 konnte ich das Problem lösen.
Danke noch mal für deine Geduld und Hilfe.

Gruß
fedjo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Du hast aber beachtet es wird die erste leere Zelle von oben gesucht und nicht die erste leere Zelle über der aktiven, was ja unterschiedliche Zellen sein können.

Gruß Hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Danke für den Hinweis mit der ersten leeren Zelle über der ActivenCell.

Für mich war es wichtig, ob zwischen A1 und der aktiven Zelle noch leere Zellen vorhanden sind, dadurch wird ein Makro gestartet oder abgebrochen.

Gruß
fedjo
...