Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1088to1092
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellenprüfung

Zellenprüfung
Heiko
Hallo,
ich verzweifle bald daran. Kann mir da jemand von euch aus der Patsche helfen? ;-)
Ich habe ein Sheet in dem ich filtern muss. Also z.B. die Zeilen
2, 4, 6, 8 usw. bleiben sichtbar. Zeile 9 mit Inhalt ist ausgeblendet. Zeile 10 ist leer und sichtbar.
Über einen SpinButton (Userform) versetze ich den Cursor über die sichtbaren Zeilen im Sheet.
Jetzt soll der Cursor aber nicht über die letzte sichtbare Zeile (also hier Zeile 8) hinausgehen können. Mit meinem Code schaut der aber noch in die Zeile 9 (Hidden - gefiltert) da die nicht leer ist und bleibt dann erst "stehen".
Hier mein Code:
Private Sub cmdPre_Click()
On Error Resume Next
Do
If ActiveCell.Offset(1, 0).Value = "" Then
MsgBox "Ende erreicht!", vbExclamation
Exit Sub
End If
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.EntireRow.Hidden = False
End Sub

Wie kann ich es nur erreichen, dass die nächste sichtbare Zelle (anstatt ActiveCell.Offset(1, 0).Value = "") auf Inhalt geprüft wird? Vielen Dank im Voraus.
VG, Heiko

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellenprüfung
14.07.2009 08:55:21
Jogy
Hi.
Dein Code funktioniert nicht. Du bleibst immer in der ersten auf die aktuell gewählte folgende ausgeblendete Zelle stehen... ok, der Satz ist unverständlich... als Beispiel:
Der Cursor steht in Zeile 6. Ist die entsprechende Zelle in Zeile 7 nicht leer, so geht er zu dieser. Da diese ausgeblendet ist, bricht der Code ab.
Außerdem benutzt Du gerade keinen SpinButton, der hat kein Click-Ereignis.
Ok, mal ein Beispielcode, der über die eingeblendete Zellen springt (der bleibt auch in leeren Zellen vor der letzten gefüllten Zelle in dieser Spalte stehen):
Private Sub SpinButton1_SpinDown()
Dim newRow As Long
Dim actCol As Long
actCol = ActiveCell.Column
For newRow = ActiveCell.Row + 1 To ActiveSheet.Cells(Rows.Count, actCol).End(xlUp).Row
If ActiveSheet.Cells(newRow, actCol).EntireRow.Hidden = False Then Exit For
Next
' Wenn keine eingeblendete Zelle gefunden wurde, dann ist newRow nach der letzten Zelle
If newRow  0 Then
ActiveSheet.Cells(newRow, actCol).Select
End If
End Sub

Gruss, Jogy
Anzeige
AW: Zellenprüfung
14.07.2009 09:07:29
Wolli
Hallo Heiko - auch von mir eine Lösung (weil ich sie gerade schon hatte)
Private Sub cmdPre_Click()
Dim i As Long
'Start in der aktiven Zeile
i = ActiveCell.Row
'nächste nicht ausgeblendete Zeile finden
Do
i = i + 1
Loop Until Rows(i).Hidden = False
'auswählen, falls bzw. die Zelle nicht leer ist
If Cells(i, 1)  "" Then
Cells(i, 1).Select
Else
'(Hinweis: Die Else-Bedingung kann komplett
' weggelassen werden - Der Benutzer wird's schon
' merken!)
MsgBox "Ende erreicht!", vbExclamation
End If
End Sub
Gutes Gelingen, Gruß, Wolli
AW: Zellenprüfung
14.07.2009 09:37:47
Heiko
Hallo,
vielen Dank für Eure schnellen und guten Antworten. Klappt perfekt.
@Jogy: Ja, du hast Recht mit dem SpinButton. Ich hatte bislang (das wußte ich natürlich) 2 cmdButton dafür genommen. Fällt ja äußerlich kaum auf (jedenfalls keinem User der nicht weiß was das ist) :-))
@Wolli: Auch die MsgBox lasse ich mal lieber aktiv. Es soll User geben die klicken ewig drauf rum und merken es ja doch nicht ***lach***
Also, nochmals dicken Dank an euch !!!
VG, Heiko
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige