Office: (Office 2016) Nächste Leere Zeile statt Letzte Zeile finden

Helfe beim Thema Nächste Leere Zeile statt Letzte Zeile finden in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Servus Zusammen, Ich benutze aktuell folgende Codezeile um in einer Matrix die letzte Leere Zeile zu finden. LZeile =... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Eddy W., 11. März 2021.

  1. Eddy W. Neuer User

    Nächste Leere Zeile statt Letzte Zeile finden


    Servus Zusammen,

    Ich benutze aktuell folgende Codezeile um in einer Matrix die letzte Leere Zeile zu finden.
    LZeile = Sheets("Interna").Cells(Rows.Count, "B").End(xlUp).Row + 1

    Die liste besteht aus Teilnehmern, bei denen durchaus aber auch mal jemand absagt.
    Damit der dann leere Platz wieder befüllt werden kann, möchte ich mit dem Macro also nicht die Letzte Leere Zeile finden, sondern die nächste Leere Zeile.
    Die Matrix liegt im Bereich B7:E28, wobei die Zeile 7 mit Überschriften Belegt ist.

    Kann mir jemand sagen wie ich das also Umformulieren muss ?

    Das ergebnis (LZeile) wird wiederum als Variable genutzt um in der Zeile dann Daten einzufügen.

    Vielen Dank uns habt nen schönen Tag

    Gruß
    Eddy
     
    Eddy W., 11. März 2021
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Eddy,

    das kann man in einer Do-Loop-Schleife realisieren:

    Code:
    Sub ErsteLeere()
        Dim lngZeile As Long
        lngZeile = 7
        With Sheets("Interna")
            Do
                If .Cells(lngZeile, 2) = "" Then
                    MsgBox "Erste leere Zelle ist " & lngZeile
                    Exit Sub
                End If
                lngZeile = lngZeile + 1
            Loop While lngZeile < .Cells(Rows.Count, "B").End(xlUp).Row
        End With
    End Sub
    


    Nächste Leere Zeile statt Letzte Zeile finden GrußformelNächste Leere Zeile statt Letzte Zeile finden Beverly's Excel - Inn
     
    Beverly, 11. März 2021
    #2
  3. Eddy W. Neuer User
    Hallo Beverly,

    vielen Dank für deine Antwort.
    Leider habe ich noch nicht die Option hier gefunden um meinen Code hier in dem Extra-Fenster wie bei dir darzustellen.
    Würde ich ihn hier normal einfügen, wäre das wohl sehr unübersichtlich, da er von mir wahrscheinlich extrem "unordentlich" erstellt wurde.
    Ich erstelle u.a. einen Automatischen Kalenderbucheintrag und eine Mail die beide automatisch befüllt und versendet bzw. gespeichert werden.

    Der Part den ich fürs finden und einfügen nutze sieht wie folgt aus:
    *snip*
    Dim LZeile
    LZeile = Sheets("Interna").Cells(Rows.Count, "B").End(xlUp).Row + 1
    Sheets("Seminaranmeldung").Range("B8:E8").Copy
    Worksheets("Interna").Range("B" & LZeile).PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone
    Sheets("Seminaranmeldung").Range("B8:E8").ClearContents
    *snip*

    Gruß
    Eddy
     
    Eddy W., 11. März 2021
    #3
  4. Beverly
    Beverly Erfahrener User

    Nächste Leere Zeile statt Letzte Zeile finden

    Hi Eddy,

    wenn du die Icons oberhalb des Antwortfensters anschaust siehst du ziemlich weit rechts ein Diskettensymbol und links daneben so etwas wie ein teilweise beschriebenes Blatt - wenn du dieses Icon klickst erhältst du 4 Auswahlmöglichkeiten - u.a. eben auch "Code". Wenn du dann diese klickst erscheint ein extra Fensterchen, wo du deinen Code einfügen kannst.

    Und wo ist nun das Problem?



    Nächste Leere Zeile statt Letzte Zeile finden GrußformelNächste Leere Zeile statt Letzte Zeile finden Beverly's Excel - Inn
     
    Beverly, 11. März 2021
    #4
  5. Eddy W. Neuer User
    Hallo Beverly,

    nochmals danke für den Hinweis. Mein Problem besteht darin das ich ziemlich neu in VBA bin und aktuell nicht wüsste wie ich den Passus von dir in meinen Code einbaue.
    Dieser sieht so aus.
    Code:
    Sub Seminarplatz_I_reservieren()
    
    
        If ActiveSheet.Range("B8").Text = "" Then
            MsgBox "Bitte tragen Sie Ihren Namen und Vornamen ein.", vbCritical
        Exit Sub
        End If
       
        If ActiveSheet.Range("C8").Text = "" Then
            MsgBox "Bitte tragen Sie Ihre Dienstl. E-Mailadresse ein.         " & _
            "    Wichtig: Kein Teampostfach!! ", vbCritical
        Exit Sub
        End If
       
        If ActiveSheet.Range("D8").Text = "" Then
            MsgBox "Bitte tragen Sie Ihren Standort ein.", vbCritical
        Exit Sub
        End If
     
       If ActiveSheet.Range("E8").Text = "" Then
            MsgBox "Bitte tragen Sie Ihre Teamkennung ein.", vbCritical
        Exit Sub
        End If
       
        If Sheets("Interna").Range("D4") = Sheets("Interna").Range("D3") Then
             MsgBox "Maximale Teilnehmerzahl erreicht! " & _
             "Reservierung nicht möglich. ", vbExclamation, "Hinweis"
             Sheets("Seminaranmeldung").Range("B8:D8").ClearContents
     Exit Sub
     End If
       
       
        ' SET Outlook APPLICATION OBJECT.
        Dim objOutlook As Object
        Set objOutlook = CreateObject("Outlook.Application")
       
        ' CREATE EMAIL OBJECT.
        Dim objEmail As Object
        Set objEmail = objOutlook.CreateItem(olMailItem)
       
        Set Appointtermin = objOutlook.CreateItem(1)
           
       
       
    
        With Appointtermin
             .Subject = Sheets("Seminaranmeldung").Range("F1").Value
             .Start = Sheets("Seminaranmeldung").Range("C4").Value
             .End = Sheets("Seminaranmeldung").Range("D4").Value
             .Location = Sheets("Interna").Range("J1").Value
             .Body = Sheets("Seminaranmeldung").Range("B3").Value
             .AllDayEvent = False
             .ReminderMinutesBeforeStart = 15
             .ReminderPlaySound = True
             .ReminderSet = True
             .Display
     '        .Save
     
        MsgBox "Termin wurde als Erinnerung in Ihrem Outlookkalender eingetragen. ", vbOKOnly
       
    End With
    
        With objEmail
            .To = Sheets("Mailformat").Range("D7").Value
            .cc = Sheets("Mailformat").Range("D9").Value
            .Subject = "Reservierung " & Range("F1").Value
            .Body = Sheets("Mailformat").Range("D12").Value & Chr(13) & _
                    " " & Chr(13) & _
                    Sheets("Mailformat").Range("D14").Value & Chr(13) & _
                    Sheets("Mailformat").Range("D15").Value & Chr(13) & _
                    Sheets("Mailformat").Range("D16").Value & Chr(13) & _
                    Sheets("Mailformat").Range("D17").Value & Chr(13) & _
                    Sheets("Mailformat").Range("D18").Value & Chr(13) & _
                    Sheets("Mailformat").Range("D19").Value & Chr(13) & _
                    Sheets("Mailformat").Range("D20").Value & Chr(13) & _
                    Sheets("Seminaranmeldung").Range("B3").Value & Chr(13) & _
                    Sheets("Seminaranmeldung").Range("B4").Value & Chr(13) & _
                    Sheets("Seminaranmeldung").Range("B5").Value & " bis " & Sheets("Seminaranmeldung").Range("D5") & " Uhr" & Chr(13)
    
            .Display
    '        .Send
        End With
       
        ' CLEAR.
        Set objEmail = Nothing:    Set objOutlook = Nothing
        Set OL = Nothing
    
        Dim LZeile
     LZeile = Sheets("Interna").Cells(Rows.Count, "B").End(xlUp).Row + 1
    ' Sheets("Seminaranmeldung").Range("B8:E8").Copy _
    '   Destination:=Sheets("Interna").Range("B" & LZeile & ":E" & LZeile)
    Sheets("Seminaranmeldung").Range("B8:E8").Copy
    Worksheets("Interna").Range("B" & LZeile).PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone
        Sheets("Seminaranmeldung").Range("B8:E8").ClearContents
     
    ActiveWorkbook.Save
    
     
    
    End Sub
    Der Rest des Codes funktionier soweit gut. In der Finalen Version werde ich noch ändern, das der Kalendereintrag automatisch gespeichert wird.
    Aber sonst klappt der Code. Ich hatte beim erstellen und zusammenbauen nur die Wahrscheinlichkeit vergessen das ja auch Mitarbeiter ihre Reservierung stornieren und dann eben nicht der Letzte Platz, sondern einer zwischen drinne frei wird.
    Das möchte ich damit nun noch anpassen.


    Vielen Dank für deine Zeit

    Gruß
    Eddy
     
    Eddy W., 11. März 2021
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi Eddy,

    nach deiner Zeile Set OL = Nohting anstelle deines Kopiercodes diesen setzen:

    Code:
        Dim lZeile As Long
        lZeile = 7
        With Sheets("Interna")
            Do
                If .Cells(lZeile, 2) = "" Then
                    Sheets("Seminaranmeldung").Range("B8:E8").Copy .Cells(lZeile, 2)
                    Exit Sub
                End If
                lZeile = lZeile + 1
            Loop While lZeile < .Cells(Rows.Count, "B").End(xlUp).Row
            Sheets("Seminaranmeldung").Range("B8:E8").Copy .Cells(lZeile + 1, 2)
        End With
    
    Was in dem Code abläuft ist dir plausibel, oder hast du Fragen dazu?



    Nächste Leere Zeile statt Letzte Zeile finden GrußformelNächste Leere Zeile statt Letzte Zeile finden Beverly's Excel - Inn
     
    Beverly, 11. März 2021
    #6
  7. Eddy W. Neuer User
    Hallo Beverly,

    der Code ist für mich im großen und ganzen Plausibel zu lesen ja :) Nur beim Schreiben habe ich noch so meine Probleme.
    Wie es halt bei alles Sprachen so ist. Verstehen ist meistens leichter zu lernen als sie zu sprechen/schreiben.


    Bei deinem Code wird auch die Formatierung der Zelle kopiert oder ?

    Das würde ich noch Anpassen, da die Zellen auf den beiden Tabellenblättern z.B. unterschiedliche Farben haben.

    Ich danke dir Vielmals

    Wünsche dir einen schönen Tag und bleib Gesund

    Gruß
    Eddy
     
    Eddy W., 11. März 2021
    #7
  8. Eddy W. Neuer User

    Nächste Leere Zeile statt Letzte Zeile finden

    Guten Morgen,
    ich habe de Code jetzt wie unten zu sehen angepasst und er funktioniert perfekt.
    Ich danke dir Vielmals

    Gruß
    Eddy

    Code:
    Dim lZeile As Long
        lZeile = 7
        With Sheets("Interna")
            Do
                If .Cells(lZeile, 2) = "" Then
                    Sheets("Seminaranmeldung").Range("B8:E8").Copy '.Cells(lZeile, 2)
                    Worksheets("Interna").Range("B" & lZeile).PasteSpecial Paste:=xlPasteValues, _
                    Operation:=xlPasteSpecialOperationNone
                    Sheets("Seminaranmeldung").Range("B8:E8").ClearContents
                    Exit Sub
                End If
                lZeile = lZeile + 1
            Loop While lZeile < .Cells(Rows.Count, "B").End(xlUp).Row
            Sheets("Seminaranmeldung").Range("B8:E8").Copy '.Cells(lZeile + 1, 2)
        Worksheets("Interna").Range("B" & lZeile).PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone
        Sheets("Seminaranmeldung").Range("B8:E8").ClearContents
    End With
    ActiveWorkbook.Save
     
    Eddy W., 12. März 2021
    #8
Thema:

Nächste Leere Zeile statt Letzte Zeile finden

Die Seite wird geladen...
  1. Nächste Leere Zeile statt Letzte Zeile finden - Similar Threads - Leere Zeile Letzte

  2. Leere Zellen suchen und Zeilen kopieren

    in Microsoft Excel Hilfe
    Leere Zellen suchen und Zeilen kopieren: Hallo liebe Excel Profis Ich hätte gerne Eure Hilfe in Anspruch genommen. Ich habe ein Tabellenblatt wo ich in Spalte B nach leeren Zellen suchen möchte. Sollten dort leere Zellen sein, möchte...
  3. leere zeilen in Formel ignorieren (nicht Filter, nicht WENN)

    in Microsoft Excel Hilfe
    leere zeilen in Formel ignorieren (nicht Filter, nicht WENN): Hallo, ich habe ein Tabellenblatt mit 265 Zeilen und 3 Spalten. Die 3 Spalten sind unterschiedlich stark befüllt. In einem Neuen Blatt mache ich eine Auswertung für jede Zelle dieser 3 Spalten a...
  4. Problem mit leeren Zeilen in einer Drop Down Liste

    in Microsoft Excel Hilfe
    Problem mit leeren Zeilen in einer Drop Down Liste: Hallo, ich habe eine Drop Down Liste erstellt, in welcher man alle Werte außer einen nur einmal auswählen kann. Damit diese Liste übersichtlich bleibt, reduziert sich die Liste automatisch...
  5. Outlook 2013 entfernt leere Zeilen beim Speichern einer Email

    in Microsoft Outlook Hilfe
    Outlook 2013 entfernt leere Zeilen beim Speichern einer Email: Hallo Leute, wir haben bei uns in der Firma das Problem, dass bei einem User immer die leeren Zeilen in einem Mail verschwinden wenn er dieses mittels speichern unter auf dem Explorer in einem...
  6. Fußnoten - Letzte Zeile nicht markierbar und automatisch eingefügt

    in Microsoft Word Hilfe
    Fußnoten - Letzte Zeile nicht markierbar und automatisch eingefügt: Hallo zusammen, beim Verfassen meiner Seminararbeit ist folgendes Problem aufgetreten. In meinen Fußnoten, wird nach der letzten Fußnote eine leere Zeile eingefügt, welche ich nicht markieren...
  7. Letzte leer Zeile suchen und Spate A Ausgeben

    in Microsoft Excel Hilfe
    Letzte leer Zeile suchen und Spate A Ausgeben: Hallo Ich stehe mal wieder vor einem Problem. Ich habe eine UserForm mit der ich Daten in eine Tabelle eintrage. Meine Tabelle "Anlagenkartei" hatt in Spalte A Nummern stehen von. Nun...
  8. Letzte leere Zelle in Zeile neben heutigem Datum finden.

    in Microsoft Excel Hilfe
    Letzte leere Zelle in Zeile neben heutigem Datum finden.: Hallo VBA-Spezialisten, ich bin hier der Neue. Ich habe da ein kleines Problem und hoffe, dass mir geholfen werden kann. Habe es schon über Google gesucht aber nichts richtiges gefunden....

Users found this page by searching for:

  1. vba nächste leere zeile finden

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden