Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Leere Zellen mit Wert darüber füllen(Bereich)

Forumthread: Leere Zellen mit Wert darüber füllen(Bereich)

Leere Zellen mit Wert darüber füllen(Bereich)
24.06.2006 10:51:07
Lars Jungclaus
HAllo Spezialisten,
ich habe eine Excel Tabelle mit Einträgen in z.B. Spalte A, in dem nur alle paar Zeilen ein Eintrag ist. Die leeren Zeilen in Spalte A sollen mit dem Wert der nächsten darüberliegenden Zeile gefüllt werden. Man soll den zu füllenden Bereich markieren und dann das Makro laufen lassen. Das sollte immer in der aktuellen Spalte im aktuelle markierten Bereich funktionieren.
Mein Makro-Versuch:

Sub CopyCellsleerobenjc()
Dim iRow As Integer
iRow = 2
Do Until Cells(iRow, 1).Value = "Stop"
If IsEmpty(Cells(iRow, 1)) Then
Cells(iRow, 1).Value = Cells(iRow - 1, 1).Value
End If
iRow = iRow + 1
Loop
End Sub

Geht zwar aber eben nicht im markierten Bereich.
Wer kann das lösen?
Vielen Dank
Gruß Lars
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Leere Zellen mit Wert darüber füllen(Bereich)
24.06.2006 10:59:13
Josef Ehrensberger
Hallo Lars!
Probier mal.
Sub CopyCellsleerobenjc()
Dim rng As Range

For Each rng In Selection.Columns(1).Cells
  If Len(Trim$(rng)) = 0 Then rng = rng.Offset(-1, 0)
Next

End Sub


Gruß Sepp
Anzeige
AW: Leere Zellen mit Wert darüber füllen(Bereich)
24.06.2006 11:02:15
Peter W
Servus,
z.B. so.
Sub basLeereBereiche()
Dim myRng As Range, rng As Range
Dim strOld As String
On Error Resume Next
Set myRng = Application.InputBox("Bereiche wählen !", "BEREICH !", , , , , , 8)
If myRng Is Nothing Then Exit Sub
For Each rng In myRng
If rng.Offset(-1, 0) <> "" Then strOld = rng.Offset(-1, 0)
If rng = "" Then rng = strOld
Next
End Sub

"Man muß Gott für alles danken, sogar für Ober- ,Mittel- und Unterfranken"


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

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


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. Folge diesen Schritten:

  1. Öffne die Excel-Datei, in der du die leeren Zellen auffüllen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen und dann auf Modul.

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

    Sub CopyCellsleerobenjc()
       Dim rng As Range
       For Each rng In Selection
           If IsEmpty(rng) Then
               rng.Value = rng.Offset(-1, 0).Value
           End If
       Next rng
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Markiere den Bereich, in dem du die leeren Zellen mit dem Wert darüber füllen möchtest.

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

Jetzt sollten alle leeren Zellen im markierten Bereich mit dem Wert der darüberliegenden Zellen gefüllt sein.


Häufige Fehler und Lösungen

  • Problem: Das Makro funktioniert nicht im markierten Bereich.

    • Lösung: Stelle sicher, dass du den richtigen Bereich ausgewählt hast und dass das Makro so angepasst ist, dass es nur auf die markierten Zellen angewendet wird.
  • Problem: Fehler beim Ausführen des Makros.

    • Lösung: Überprüfe, ob die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die entsprechenden Optionen.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch eine Formel nutzen, um leere Zellen mit dem Wert darüber zu füllen:

  1. Angenommen, du hast Werte in Spalte A. In Zelle A2 gibst du die folgende Formel ein:

    =WENN(A2="";A1;A2)
  2. Ziehe die Formel nach unten, um sie auf die restlichen Zellen anzuwenden.

Diese Methode füllt die leeren Zellen in der Spalte A mit dem Wert der darüberliegenden Zelle.


Praktische Beispiele

Angenommen, du hast in Spalte A folgende Werte:

A1: 100
A2: (leer)
A3: (leer)
A4: 200
A5: (leer)

Nach dem Ausführen des Makros oder der Anwendung der Formel sieht die Spalte A so aus:

A1: 100
A2: 100
A3: 100
A4: 200
A5: 200

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


Tipps für Profis

  • Verwende die IFERROR-Funktion in Kombination mit der oben genannten Formel, um Fehler zu vermeiden.
  • Du kannst das Makro so anpassen, dass es mehrere Spalten gleichzeitig bearbeitet, indem du die Schleife entsprechend erweiterst.
  • Überlege dir, das Makro in deiner Schnellzugriffsleiste zu speichern, um schnellen Zugriff zu haben.

FAQ: Häufige Fragen

1. Kann ich auch leere Zellen mit einem bestimmten Wert füllen?
Ja, du kannst das Makro anpassen, indem du anstelle von rng.Offset(-1, 0).Value den gewünschten Wert einfügst.

2. Funktioniert das auch in Excel 365?
Ja, das Makro ist auch mit Excel 365 kompatibel. Stelle sicher, dass du die richtigen Berechtigungen hast, um Makros auszuführen.

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