Spalten nachträglich auffüllen

Xtract: Leere Zellen (Zeilen) ein­er Spalte mit ver­schiede­nen Meth­o­d­en auf­füllen; per Plain Excel, VBA oder Pow­er Query. Vor­gabe ist hier: Einen gegebe­nen Wert von oben nach unten bis zum näch­sten Wert oder Ende der Tabelle füllen.

  Wis­sens­stand: Lev­el 1 ⇒ Ein­steiger (auch in PQ), keine/kaum Erfahrung   

Leerzeilen identisch mit Inhalt der jeweils oberen Zelle ausfüllen

Beispiel­sweise durch einen Daten­im­port oder aus anderen Grün­den sieht eine Über­sicht, ein Daten­bere­ich so aus:
Diese Lücken sollen gefüllt werden

Diese Lück­en sollen gefüllt wer­den

Für eine sin­nvolle Fil­terung, Piv­ot-Auswer­tung oder aus anderen Grün­den müssen nun die leeren Zeilen unter­halb des Namens mit dem gle­ichen Namen aufge­füllt, also bis zum näch­sten Namen bzw. der let­zen Daten­zeile kopiert wer­den.

▲ nach oben …

Bei wenigen Daten

Bis zu 10, vielle­icht 25 Namen lässt sich dieses ganz sim­ple Vorge­hen sehr bequem durch­führen (nach Wun­sch natür­lich auch mehr):

  • Die einzelne Zelle mit dem Namen markieren
  • Dop­pelk­lick auf das Aus­fül­lkästchen

Das war’s dann auch schon für diesen Daten­satz. Das gle­iche Vorge­hen bei den fol­gen­den Namen. Aus­nahme: Der let­zte Daten­block. Hier das Aus­fül­lkästchen von Hand nach unten ziehen, weil ja kein fol­gen­der Tex­tein­trag (Name) die Begren­zung darstellt.

▲ nach oben …

Interessant und bequem

Prinzip­iell mit beliebi­gen Daten­men­gen möglich: „Trick 17“.  😎

  • Markieren Sie die Spalte mit den fehlen­den Ein­trä­gen kom­plett bis zur let­zten Zeile, wo Dat­en zum unter­sten einge­tra­ge­nen Namen enthal­ten sind. Im Bild: A1:A13.
  • Entwed­er den Befehl Gehe zu oder F5, alter­na­tiv StrgG.
  • Im aufge­taucht­en Fen­ster wählen Sie den Punkt Leerzellen, dann OK.

In dem obi­gen Beispiel wären im vorher markierten Bere­ich (in Spalte A) nun die Zeilen 3–6, 9 und 12–13 markiert. Die Ankerzelle A3 ist heller her­vorge­hoben. Schreiben Sie nun in die Ankerzelle die Formel =A2 und been­den Sie die Eingabe mit StrgEingabe. – Damit ist die Auf­gabe gelöst.

▲ nach oben …

Besonders leistungsfähig

Wenn Sie in ein­er Excel-Ver­sion ab 2010 das Add-In Pow­er Query instal­liert haben (bzw. ab 2016365 bere­its inte­gri­ert), dann bietet sich hier auch eine recht kom­fort­able und leis­tungs­fähige Lösungsmöglichkeit an.

  • Klick­en Sie irgend­wo in den Daten­bere­ich und laden Sie dann unter dem Aspekt (Menüband) Excel-Dat­en | Von Tabelle.
  • Klick in die Über­schrift Name, die Spalte wird bis zur Zeile 12 markiert
  • Menü Trans­formieren, Gruppe Beliebige Spalte, Aus­füllen ▼, Nach unten.
  • Zum Abschluss Schließen und laden.

Vielle­icht müssen Sie noch etwas an den For­matierun­gen nachbessern, aber wenn die Dat­en sowieso beispiel­sweise in ein­er Piv­ot­Table weit­er aus­gew­ertet wer­den sollen, ist dieses ein opti­maler Weg. Ins­beson­dere dann, wenn die Basis­dat­en ständig erweit­ert oder verän­dert wer­den zeigt sich der Vorteil, dass dieser Vor­gang nur ein­ma­lig erforder­lich ist und später jew­eils nur eine Aktu­al­isierung durchge­führt wer­den muss.

Nach­trag Juni 2020: Mit Pow­er Query ist es gle­icher­maßen prob­lem­los möglich, „von unten nach oben” (bis zum darüber liegen­den Ein­trag oder erster Zeile der Liste) die Dat­en auszufüllen.

▲ nach oben …

(Per VBA)

Eigentlich eine ein­fache Übung. Den­noch oder vielle­icht auch darum hier kein Code. Wenn Sie Inter­esse haben, dann ein­fach eine E‑Mail schick­en. Dann sende ich Ihnen eine mögliche Lösung zu.

Sub LeerzellenAuffuellen()
   Dim rng As Range, c As Range
   Set rng = Range("A2:A" & Cells(Rows.Count, 1).End(xlup).Row)
   For Each c In Bereich.SpecialCells(xlCellTypeBlanks)
      c = c.Offset(-1, 0)
   Next c 
End Sub

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits z.B. 2,00  freuen …

Dieser Beitrag wurde unter Ohne Makro/VBA, Tabelle und Zelle, Tipps und Tricks, Wege nach Rom abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.