Microsoft Excel

Herbers Excel/VBA-Archiv

Erste leere eingeblendete Zelle finden

Betrifft: Erste leere eingeblendete Zelle finden
von: Franz W.
Geschrieben am: 19.04.2003 - 13:00:51

Hallo Forum,

ich scheitere kläglich mit meinen Versuchen, darum möchte ich Euch um Hilfe bitten. Ich möchte in Spalte 39 die erste leere Zelle finden, um dort was eintragen zu lassen. Allerdings sind immer mal wieder Zeilen ausgeblendet. Es geht also darum, die erste SICHTBARE Zelle zu finden. Ich hab mir was gebastelt, das bei jeweils 2 ausgeblendeten Zeilen funktioniert, und das hilft mir schon ein bisschen weiter (auch wenn der Code wahrscheinlich zu umständlich ist):


Sub wnTaste()
    If Not Cells(Rows.Count, 39).End(xlUp).Offset(1, 0).RowHeight = 0 Then
        If Not Cells(Rows.Count, 39).End(xlUp).Offset(0, 0) = Date Then
            Cells(Rows.Count, 39).End(xlUp).Offset(1, 0) = Date
            Cells(Rows.Count, 39).End(xlUp).Offset(0, 1) = [AJ57]
            Cells(Rows.Count, 39).End(xlUp).Offset(0, 2) = [AJ58]
        End If
    ElseIf Not Cells(Rows.Count, 39).End(xlUp).Offset(3, 0).RowHeight = 0 Then
        If Not Cells(Rows.Count, 39).End(xlUp).Offset(0, 0) = Date Then
            Cells(Rows.Count, 39).End(xlUp).Offset(3, 0) = Date
            Cells(Rows.Count, 39).End(xlUp).Offset(0, 1) = [AJ57]
            Cells(Rows.Count, 39).End(xlUp).Offset(0, 2) = [AJ58]
        End If
    End If
End Sub

Es sind aber nicht immer exakt 2 Zeilen ausgeblendet, sondern durchaus auch unterschiedlich viele. Und da komm ich nicht weiter. Auch mit div. Versuchen mit Do While Loop oder Do until Loop bin ich nur teilweise erfolgreich. Kann mir bitte jemand auf die Sprünge helfen?

Vielen Dank im Voraus

Gruß
Franz

  

Re: Erste leere eingeblendete Zelle finden
von: heinerv
Geschrieben am: 19.04.2003 - 13:15:44

Hallo Franz,

probier folgenden Code:

Sub finden()
Range("AM1").Activate
Do While ActiveCell > 0
ActiveCell.Offset(1, 0).Activate
Do While ActiveCell.EntireRow.Hidden = True
ActiveCell.Offset(1, 0).Activate
Loop
Loop

End Sub


  

Re: Erste leere eingeblendete Zelle finden
von: Franz W.
Geschrieben am: 19.04.2003 - 13:22:51

Hallo Heiner,

ja, damit komm ich weiter.

Vielen Danke und beste Ostergrüße
Franz

  

Re: Erste leere eingeblendete Zelle finden
von: Franz W.
Geschrieben am: 19.04.2003 - 13:56:37

Hallo Heiner,

richtig "geschleift" und schon klappt's! Und der Code schaut auch noch nach was aus:


Sub wnTaste()
ActiveSheet.Unprotect
Range("AM3").Activate
    Do While ActiveCell > 0
        ActiveCell.Offset(1, 0).Activate
        Do While ActiveCell.EntireRow.Hidden = True
            ActiveCell.Offset(1, 0).Activate
        Loop
    Loop
    If Not ActiveCell.Offset(-1, 0) = Date Then
        ActiveCell = Date
        ActiveCell.Offset(0, 1) = [AJ57]
        ActiveCell.Offset(0, 2) = [AJ58]
    End If
End Sub

Ganz vielen Dank für Deine Hilfe funktioniert wie gewünscht.

Eine kleine Zusatzfrage noch: es heißt immer, auf SELECT oder ACTIVATE weitestgehend verzichten zu können/sollen. Geht hier aber wohl nicht ohne das ACTIVATE, richtig? Ich hab's ein bissl probiert, war aber nicht erfolgreich.

Danke und Grüße
Franz




  

Erste leere eingeblendete Zelle ohne SELECT
von: Boris
Geschrieben am: 19.04.2003 - 15:30:40

Hi Franz,

mal ganz allgemein ohne SELECT und ACTIVATE (bis auf das Ergebnis natürlich, denn die Suchzelle wird dann selektiert).
Das Makro selektiert im Bereich A1:A100 die erste leere Zelle, die nicht ausgeblendet ist:


Sub test()
Dim r As Range
    For Each r In [A1:A100]
        If r.RowHeight <> 0 And r = "" Then
            r.Select
            Exit For
        End If
    Next
End Sub

Gruß Boris

  

Re: Erste leere eingeblendete Zelle ohne SELECT
von: Franz W.
Geschrieben am: 19.04.2003 - 16:09:15

Hi Boris,

vielen Dank für Deine Antwort. Raffinierte Alternative (auf jeden Fall für mich :-)) ). Und damit hab ich's dann glaub ich schon verstanden. Die Suchzelle muss in diesem Fall selektiert werden, weil's ja nach dem Finden von irgendwo aus weitergehen muss.

Danke und auch Dir schöne Feiertage
Franz

 

Beiträge aus den Excel-Beispielen zum Thema "Erste leere eingeblendete Zelle finden"