Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Leer Zelle in nächsten Zeile mit oberen Wert

Leer Zelle in nächsten Zeile mit oberen Wert
26.02.2015 12:46:59
Manfred
Hallo zusammen,
habe das u.g. Makro aus dem Internet gefischt, es bricht aber bei For Each ab.
Fehlermeldung: Laufzeitfehler 1004, Keine Zelle gefunden.
Ich komme nicht drauf warum. Weis jemand Rat oder Tat ?
In Zelle H2 kommt der erste nach unten zu kopierende Wert, dann H30, H56 bis 12700 gehts in unbestimmter Reihenfolge weiter.
Thema: Nächste leere Zelle in nächsten Zeile mit oberen Wert füllen.
Sub Leerzellen()
Dim Bereich As Range, Zelle As Range
Set Bereich = Range("H2:H12770")
For Each Zelle In Bereich.SpecialCells(xlCellTypeBlanks)
Zelle = Zelle.Offset(-1, 0)
Next Zelle
End Sub
Mit freundlichen Grüßen
Manfred

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leer Zelle in nächsten Zeile mit oberen Wert
26.02.2015 14:22:09
fcs
Hallo Manfred,
evtl. sind die scheinbar leeren Zellen nicht leer, sondern enthalten Formeln oder Leerzeichen.
Probiere mal folgendes.
Gruß
Franz
Sub Leerzellen()
Dim Bereich As Range, Zelle As Range
Set Bereich = Range("H2:H12770")
For Each Zelle In Bereich
With Zelle
If Trim(.Text) = "" Then .Value = .Offset(-1, 0).Value
End With
Next Zelle
End Sub

Anzeige
AW: Leer Zelle in nächsten Zeile mit oberen Wert
26.02.2015 14:28:05
Manfred
Hallo Franz,
ja da waren ausgeblendete Nuller drin. Habs aber erst jetzt gemerkt.
Dein Makro läuft super durch, und macht alles richtig.
Vielen Dank für deine Mühe.
Mit freundlichen Grüßen
Manfred
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Leere Zellen in Excel mit dem Wert darüber füllen


Schritt-für-Schritt-Anleitung

Um leere Zellen in Excel mit dem Wert darüber zu füllen, kannst du ein einfaches VBA-Makro verwenden. Folgende Schritte helfen dir dabei:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub Leerzellen()
       Dim Bereich As Range, Zelle As Range
       Set Bereich = Range("H2:H12770") ' Definiere den Bereich
       For Each Zelle In Bereich.SpecialCells(xlCellTypeBlanks) ' Durchlaufe leere Zellen
           Zelle = Zelle.Offset(-1, 0) ' Fülle mit Wert darüber
       Next Zelle
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle Leerzellen aus und klicke auf Ausführen.

Dieses Makro sucht alle leeren Zellen im Bereich H2 bis H12770 und füllt sie mit dem Wert der Zelle darüber.


Häufige Fehler und Lösungen

  • Fehlermeldung: Laufzeitfehler 1004, Keine Zelle gefunden.

    • Ursache: Es könnten keine leeren Zellen im angegebenen Bereich vorhanden sein oder die Zellen enthalten möglicherweise Formeln oder Leerzeichen.
    • Lösung: Verwende den folgenden Code, um sicherzustellen, dass auch nicht sichtbare Inhalte beachtet werden:
    Sub Leerzellen()
        Dim Bereich As Range, Zelle As Range
        Set Bereich = Range("H2:H12770")
        For Each Zelle In Bereich
            With Zelle
                If Trim(.Text) = "" Then .Value = .Offset(-1, 0).Value
            End With
        Next Zelle
    End Sub

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die Funktion WENN in Excel nutzen:

  1. In der Zelle H2 (oder der ersten Zelle deines Bereichs) kannst du folgende Formel verwenden:

    =WENN(ISTLEER(H2);H1;H2)
  2. Ziehe die Formel nach unten, um sie auf die restlichen Zellen anzuwenden. Diese Methode ist jedoch nicht so effizient wie das Makro und kann bei großen Datenmengen langsam sein.


Praktische Beispiele

Angenommen, du hast folgende Daten in Spalte H:

H1: 10
H2: (leer)
H3: 20
H4: (leer)
H5: (leer)
H6: 30

Nach dem Ausführen des Makros sollten die Zellen wie folgt aussehen:

H1: 10
H2: 10
H3: 20
H4: 20
H5: 20
H6: 30

Dies zeigt, wie du leere Zellen in Excel mit dem Wert darüber füllen kannst.


Tipps für Profis

  • Achte darauf, dass es keine unsichtbaren Zeichen oder Formeln in den leeren Zellen gibt, da diese das Makro abbrechen könnten.
  • Experimentiere mit dem Code, um ihn an deine spezifischen Bedürfnisse anzupassen, z.B. um nur bestimmte Werte oder Zeilen zu füllen.
  • Vermeide es, den Code auf große Bereiche ohne vorherige Prüfung der Daten anzuwenden, um unerwartete Ergebnisse zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich das Makro für andere Spalten verwenden? Ja, du kannst den Bereich in der Set Bereich-Zeile anpassen, um andere Spalten zu verwenden, z.B. Range("A2:A100").

2. Was ist, wenn ich nur die ersten 10 leeren Zellen füllen möchte? Du kannst eine Zählvariable in deinem Makro hinzufügen, um die Ausführung nach 10 Zellen zu stoppen.

3. Funktioniert das auch in Excel Online? VBA-Makros funktionieren nicht in Excel Online. Du müsstest alternative Methoden wie die WENN-Formel nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige