Office: (Office 2019) Auf die nächst mögliche Zelle mit Inhalt zugreifen

Helfe beim Thema Auf die nächst mögliche Zelle mit Inhalt zugreifen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Einen schönen Sonntag wünsche ich. Ich möchte mit folgendem Code auf die nächst mögliche Zelle mit einem Wert zurück greifen. Der Code nimmt aber immer... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Motor-Bastler, 26. Januar 2025.

  1. Auf die nächst mögliche Zelle mit Inhalt zugreifen


    Einen schönen Sonntag wünsche ich. Ich möchte mit folgendem Code auf die nächst mögliche Zelle mit einem Wert zurück greifen. Der Code nimmt aber immer den vorherigen Wert in der Zelle. Wenn die Zelle natürlich leer ist soll er weiter zurück suchen, das macht der Code leider nicht. Kann mir da jemand bitte weiter helfen? Gruß
    Code:
    Private Sub ProcessColumn(ws As Worksheet, r As Long, colTarget As Long, col1 As Long, col2 As Long, rowStart As Long)
        Dim previousRow As Long
        Dim i As Long
    
        previousRow = 0 ' Zurücksetzen für jede neue Zeile
    
        ' Suche die letzte Zeile mit tatsächlichem Inhalt in der Zielspalte
    For i = r - 1 To rowStart Step -1
        On Error Resume Next ' Fehler beim Zugriff überspringen
    
        ' Debugging-Ausgabe für jede durchsuchte Zelle
        Dim cellValue As Variant
        cellValue = ws.Cells(i, colTarget).Value
    
        Debug.Print "Zeile: " & i & ", Wert: " & cellValue & ", Formel: " & ws.Cells(i, colTarget).hasFormula
    
        If Err.Number = 0 Then ' Kein Fehler beim Zugriff
            If Not IsError(cellValue) Then ' Sicherstellen, dass kein Fehlerwert vorliegt
                If cellValue <> "" Or ws.Cells(i, colTarget).hasFormula Then
                    previousRow = i ' Zeile mit gültigem Inhalt gefunden
                    Debug.Print "Gültige Zeile gefunden: " & previousRow
                    Exit For
                End If
            End If
        Else
            ' Debugging-Ausgabe für fehlerhafte Zellen
            Debug.Print "Fehler beim Zugriff auf Zeile: " & i & ", Fehlernummer: " & Err.Number
        End If
    
        On Error GoTo 0 ' Fehlerbehandlung zurücksetzen
    Next i
    
        ' Debugging-Ausgabe, wenn keine gültige vorherige Zeile gefunden wurde
        If previousRow = 0 Then
            Debug.Print "Keine gültige Zeile mit Inhalt gefunden für Spalte " & colTarget
        End If
    
        ' Einfügen der Formel in die Zielspalte
        If previousRow > 0 Then
            ' Verwende die letzte gültige Zeile für die Berechnung
            ws.Cells(r, colTarget).Formula = _
                "=IF(AND(" & ws.Cells(r, col1).Address(False, False) & "<>""""," & _
                ws.Cells(r, col2).Address(False, False) & "<>"""")," & _
                ws.Cells(previousRow, colTarget).Address(False, False) & "+" & _
                ws.Cells(r, col1).Address(False, False) & "-" & _
                ws.Cells(r, col2).Address(False, False) & ","""")"
            Debug.Print "Formel eingefügt in Zeile " & r & " für Spalte " & colTarget & ": Basierend auf Zeile " & previousRow
        Else
            ' Keine gültige vorherige Zeile gefunden
            ws.Cells(r, colTarget).Formula = _
                "=IF(AND(" & ws.Cells(r, col1).Address(False, False) & "<>""""," & _
                ws.Cells(r, col2).Address(False, False) & "<>""""),0+" & _
                ws.Cells(r, col1).Address(False, False) & "-" & _
                ws.Cells(r, col2).Address(False, False) & ","""")"
            Debug.Print "Formel eingefügt in Zeile " & r & " für Spalte " & colTarget & ": Keine gültige vorherige Zeile gefunden"
        End If
    End Sub
    
     
    Motor-Bastler, 26. Januar 2025
    #1
  2. BoskoBiati Erfahrener User
    Hi,

    eine nicht ohne Datei funktionierende Sub, ernsthaft?
     
    BoskoBiati, 26. Januar 2025
    #2
  3. Entschuldigung, nun die erforderliche Sub die ich schlicht vergessen hatte.
    PHP:
    Private Sub Worksheet_Change(ByVal Target As Range)
        
    Dim ws As Worksheet
        Dim rowStart 
    As Long
        Dim colI 
    As LongcolG As LongcolH As Long
        Dim colF 
    As LongcolD As LongcolE As Long
        Dim colL 
    As LongcolJ As LongcolK As Long
        Dim r 
    As Long

        
    ' Initialisierung
        Set ws = Me ' 
    Aktuelles Arbeitsblatt
        rowStart 
    ' Formel beginnt ab Zeile 4

        ' 
    Spaltenzuweisungen
        colI 
    ' Spalte I
        colG = 7 ' 
    Spalte G
        colH 
    ' Spalte H
        colF = 6 ' 
    Spalte F
        colD 
    ' Spalte D
        colE = 5 ' 
    Spalte E
        colL 
    12 ' Spalte L
        colJ = 10 ' 
    Spalte J
        colK 
    11 ' Spalte K

        ' 
    Prüfenob die Änderung in den relevanten Spalten erfolgt ist
       
    '        Dim relevantRange As Range
        Set relevantRange = Application.Union(ws.Columns(colG), ws.Columns(colH), ws.Columns(colI), _
                                          ws.Columns(colD), ws.Columns(colE), ws.Columns(colF), _
                                          ws.Columns(colJ), ws.Columns(colK), ws.Columns(colL))
        Application.EnableEvents = False ' 
    Verhindert Endlosschleifen durch Worksheet_Change
        Application
    .ScreenUpdating False

        
    ' Aktualisierung der Formeln in den Zielspalten
        For r = rowStart To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
            ' 
    Für Spalten IG und H
            Call ProcessColumn
    (wsrcolIcolGcolHrowStart)

            
    ' Für Spalten F, D und E
            Call ProcessColumn(ws, r, colF, colD, colE, rowStart)

            ' 
    Für Spalten LJ und K
            Call ProcessColumn
    (wsrcolLcolJcolKrowStart)
        
    Next r

        Application
    .EnableEvents True ' Ereignisse wieder aktivieren
        Application.ScreenUpdating = True
    End Sub

     
    Motor-Bastler, 26. Januar 2025
    #3
  4. {Boris} Erfahrener User

    Auf die nächst mögliche Zelle mit Inhalt zugreifen

    Hi,

    poste bitte eine Datei und keine Codes.
     
    {Boris}, 26. Januar 2025
    #4
  5. d'r Bastler
    d'r Bastler Erfahrener User
    Moin mBastler,

    oder beschreibe mal in einfachen Worten, was Du denn vorhast. Das hilft häufig eher, als ewig langen Code zu sezieren Auf die nächst mögliche Zelle mit Inhalt zugreifen *;)*
    Kann aber die Nebenwirkung haben, dass Du eine Lösung bekommst, an die Du bisher noch garnicht gedacht hast ...

    Grüße
     
    d'r Bastler, 27. Januar 2025
    #5
  6. Danke für das Interesse an meinem Problem. Bin zwischenzeitlich fündig geworden. Ich werde einmal alle Möglichkeiten testen. Wenn alles o. K. sein sollte, was ich zwischenzeitlich mit div. Hilfe verändert haben, dann sei allen noch einmal für die angebotene Hilfe gedankt.
     
    Motor-Bastler, 27. Januar 2025
    #6
  7. d'r Bastler
    d'r Bastler Erfahrener User
    Schön, dass es dann vermutlich funzt. Wäre aber neugierig gewesen, was denn hinter Deiner Idee steckt...Auf die nächst mögliche Zelle mit Inhalt zugreifen *:)*
     
    d'r Bastler, 27. Januar 2025
    #7
  8. Auf die nächst mögliche Zelle mit Inhalt zugreifen

    Habe die Nachricht gelesen und will, nachdem ich die Funktionen einmal durchgespielt habe, meine Datei einmal präsentieren. Bei den Spalten "Saldo" sollte immer, wenn Veränderungen in Spalte "Soll" und "Haben" vorgenommen werden, sich die nachfolgenden Zeilen in der Spalte "Saldo" automatisch neu berechnen. Wenn z. B. "Soll" und "Haben" einer Zeile gelöscht werden, wird in den nachfolgenden Zeilen der Spalte "Haben" keine Korrektur der Werte vorgenommen. Es soll aber auf den Wert der nächsten vorherigen Zelle der Spalte "Saldo" zurückgegriffen werden, die einen Wert Zelle hat. Nach mehreren Versuchen habe ich jetzt gesehen, dass die Berechnung des Saldos in der Tabelle nicht aktualisiert wird.
     
    Motor-Bastler, 28. Januar 2025
    #8
  9. Noch ein Hinweis: Wenn ich die Änderung in der Tabelle1 in den Spalten "Soll" und "Haben" manuell mache, aktualisiert sich die "Saldo" Zellen korrekt. Gruß
     
    Motor-Bastler, 28. Januar 2025
    #9
  10. d'r Bastler
    d'r Bastler Erfahrener User
    Moin mBastler,
    Deine Mappe ist ein ziemlicher Brocken, durch dessen Code mich durchzuwühlen, mir aktuell -sorry- die Zeit fehlt. Aber Deine #9 deutet darauf hin, das Dir für die Nicht-manuelle Aktualisierung vermutlich nur ein Event (oder die entsprechende Zielzelle) fehlt, der manuell aber geliefert wird.

    Vielleicht hilft das als Hinweis zu einer erfolgreichen Spurensuche.

    Viel Erfolg! und schöne Grüße
     
    d'r Bastler, 28. Januar 2025
    #10
Thema:

Auf die nächst mögliche Zelle mit Inhalt zugreifen

Die Seite wird geladen...
  1. Auf die nächst mögliche Zelle mit Inhalt zugreifen - Similar Threads - nächst Zelle Inhalt

  2. Werte zusammenzählen - ab einer Zelle die nächsten 5

    in Microsoft Excel Hilfe
    Werte zusammenzählen - ab einer Zelle die nächsten 5: Hallo. ich würde gerne eine bestimmte Menge an Zellen zusammenzählen. Genau gesagt: Wenn in einer Zelle (A1) die Zahl 5 steht dann soll Excel ab B2 die nächsten 5 Werte zusammenzählen. Wenn...
  3. Wert in Zelle kopieren und in nächster freie Zelle einfügen

    in Microsoft Excel Hilfe
    Wert in Zelle kopieren und in nächster freie Zelle einfügen: Hallo zusammen, ich habe jetzt schon etwas länger recherchiert, habe aber vermutlich nen dickes Brett vorm Kopf ;-) Mein Problem möchte ich gerne im VBA als Makro erledigen. In der Zelle F4 ist...
  4. Bedingte Formatierung in Nächste Zelle Kopieren

    in Microsoft Excel Hilfe
    Bedingte Formatierung in Nächste Zelle Kopieren: Hallo, undzwar möchte ich in meinem Messprotokoll Die Zelle 11 in Zelle 12 Kopieren. Dabei verschiebt sich aber die Formatierung nicht mit. Die Regel bezieht sich dann immer noch auf Zelle 11...
  5. VBA - Springen in nächste ungeschützte Zelle ohne TAB/Enter

    in Microsoft Excel Hilfe
    VBA - Springen in nächste ungeschützte Zelle ohne TAB/Enter: Hallo. Ich habe folgendes vor: Auf meinem mit Blattschutz geschütztem Arbeitsblatt habe ich geschützte und ungeschützte Zellen in unterschiedlicher Anordnung. Befüllt werden die ungeschützten...
  6. Wenn Zelle leer, dann nimm nächst verfügbare oberhalb

    in Microsoft Excel Hilfe
    Wenn Zelle leer, dann nimm nächst verfügbare oberhalb: Guten Tag, Ich habe eine Funktion, die ein Wert aus Spalte A in eine Zelle von Spalte B nimmt. Da in Spalte A nicht jede Zelle ein Wert hat, sondern auch leere enthalten sind, möchte ich mit der...
  7. Tabelle: Zelle einfügen. Sprung an Anfang nächster Zeile

    in Microsoft Word Hilfe
    Tabelle: Zelle einfügen. Sprung an Anfang nächster Zeile: Guten Tabe liebe Office Freunde :) Ich erstelle aktuell eine bebilderte Personalliste mit Bildern für meinen Arbeitgeber per Word. Die Erstellung ist kein Problem, jedoch haben wir uns gefragt...
  8. Inhalt aus textbox in nächste freie Zelle schreiben

    in Microsoft Excel Hilfe
    Inhalt aus textbox in nächste freie Zelle schreiben: Hallo, über Commandbutton soll der Inhalt aus Textbox1 und 2 in die nächste freie Zeile in Spalte A und B geschrieben werden. Mit meinen Code klappte das bisher auch. jetzt schreibt er immer in...
  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