Anzeige
Archiv - Navigation
1364to1368
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Leerzellen mit Wert darunter auffüllen

Leerzellen mit Wert darunter auffüllen
25.06.2014 00:26:53
Vigo
Hallo zusammen!
Ich habe da ein Problem und habe bisher keinen Ansatz gefunden wie es zu lösen wäre.
Ich hab in einer Spalte verschiedene Zahlen untereinander stehen. Zwischen den Zahlen können sich jedoch beliebig viele Leerzellen befinden.
Ich würde gerne die Leerzellen mit der Zahl füllen, die als nächsten in der Spalte darunter steht. Hier ein kleines Beispiel wie ich das meine. Rechts meine Ist- Situation und links davon wie es mal aussehen soll.
AA
11
22
2
22
8
8
88
1
1
1
1
1
1
11
Die Spalte kann dabei eine variable Länge annehmen.
Ist das noch mit einer Formel machbar? Wenn möglich ohne Hilfsspalte. Weil ich das etwas bezweifele (Umsetzung durch eine Formel), versuch ich mit meinen ausgeprägten VBA- Künsten ein Makro zu basteln und werde mich morgen wieder melden.
Ich würde mich dennoch über Tipps freuen!
Viele Grüße, Vigo

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzellen mit Wert darunter auffüllen
25.06.2014 01:03:31
Daniel
Hi
- ganze Spalte markieren
- Selektion auf Leerzelle einschränken mit Start - Bearbeiten - Suchen und Auswählen Inhalte - Leerzellen
- in die aktive Zelle die Formel eingeben: = wert aus Zelle untendrunter, als wenn A1 die Aktive Zelle ist, dann =A2
- Eingabe mit STRG-ENTER abschließen, die Formel wird in alle markierten Zellen übernommen.
- Spalten markieren, kopieren und an gleicher Stelle als Wert einfügen.
Für die Umsetzung als Makro einfach den Recorder mitlaufen lassen.
Gruß Daniel

AW: Leerzellen mit Wert darunter auffüllen
25.06.2014 01:11:30
Michael
Hallo Vigo,
So weit der händische Weg, sofern Du die Daten in ein und derselben Spalte haben möchtest.
Wenn beide nebeneinander stehen, wie oben im Beispiel, dann kannst Du die linke aus der rechten erzeugen, indem Du =WENN(B2"";B2;B3) in Zelle A2 schreibst und nach unten kopierst.
Schöne Grüße,
Michael

Anzeige
Das hast du nicht am Bsp ausprobiert, ...
25.06.2014 02:24:31
Luc:-?
Michael,
denn deine Fml liefert dann viele Nullen! Richtiger wäre wohl folgd 1zellige MatrixFml, Vigo:
ZFml in B2[:B15]:{=WENN(A2"";A2;INDEX(A3:A$16;VERGLEICH("?*";""&A3:A$16;0)))}
Morrn, Luc :-?
Anmerkung für neopa & robert: Mit meiner iE befindlichen UDF ChooseIf würde sich diese Fml etwas verkürzen, da VERGLEICH entfällt:
ZFml in B2[:B15]:=WENN(A2"";A2;INDEX(ChooseIf(A3:A$15;;;"");1;;1))
Leider dauert's wieder mal noch etwas länger, weil sich die Nebenarbeit an RepOpt hinzieht und jetzt noch eine umfangreiche Org+Design-Arbeit ins Haus steht. Gruß!

Anzeige
...zumindest nicht gründlich
25.06.2014 03:32:36
Michael
Ups! Hab mich leicht vertan.
Aber damit geht's: =WENN(B3"";B3;A4)
Gruß,
Michael

und noch ein Fehler...
25.06.2014 03:43:00
Michael
Die Formel =WENN(B3"";B3;A4) gehört dann natürlich in A3, nicht in A2.
Gruß,
Michael

Ich habe das Gefühl, dass du von falschen ...
25.06.2014 14:52:12
falschen
…oder zumindest nicht den gleichen Voraussetzungen ausgehst wie ich, Michael,
aber nun ist's ja eh' egal… ;-]
Gruß, Luc :-?

AW: Leerzellen mit Wert darunter auffüllen
25.06.2014 08:14:44
Vigo
Guten Morgen zusammen!
Vielen, vielen Dank für eure regen Vorschläge!
Ich hab Daniels Vorschlag mit einem Code umgesetzt.
Das kam dann durch die Optimierung des Codes, welchen ich mit dem Makrorekorder aufgenommen hab, raus:
With wksHinter
.Range(.Cells(2, 4), .Cells(lest, 4)).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[1]C"
End With
Nicht zu glauben, dass so ein Dreizeiler auch noch funktioniert!
Nochmals vielen Dank!
Ich bin gestern noch voll verzweifelt!
Meine Heransgehensweise war dann irgendetwas mit finde eine Leerzelle in der Spalte, schau in den darunterliegenden Zellen, ob ein Wert hinterlegt ist und übernehm diesen dann. So der Gedanke...
Ich bin dann aber daran hängen geblieben, dass ich mit offset(x,0) arbeiten wollte, aber es sich ja unterschiedlich viele Leerzellen zwischen den einzelnen Werten befinden können... Und und und...
Ich muss glaub ich ernsthaft an meiner Denkweise arbeiten und mal auf "einfach" umstellen^^
Viele Grüße, Vigo

Anzeige
kleiner Vorschlag noch ...
25.06.2014 08:55:39
Matthias
Hallo Vigo
Damit dann aber auch die Fomeln in den (vorher) leeren Zellen wieder verschwinden
und nur die Werte in den Zellen stehen, kannst Du den Code noch etwas anpassen.
 On Error Resume Next
With wksHinter.Range(Cells(2, 4), Cells(lest, 4))
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[1]C"
.Value = .Value
End With
wobei sichergestellt sein sollte das Deine Variable lest auch einen gültigen Werte hat
On Error Resume Next ist in diesem Fall sinnvoll, wenn es keine leeren Zellen gibt!
Sonst würde VBA mit eine Fehlermeldung aussteigen.
Gruß Matthias

Anzeige
und nochmal etwas gekürzt ...
25.06.2014 09:29:49
Matthias
Hallo
 On Error Resume Next
With wksHinter.Range(Cells(2, 4), Cells(lest, 4))
.SpecialCells(xlCellTypeBlanks).Formula = "=R[1]C"
End With

Gruß Matthias

AW: und nochmal etwas gekürzt ...
25.06.2014 09:47:04
Vigo
Hallo Matthias!
Danke für deinen Hinweis! :)
Ich hab bisher zwar keine Fehlermeldung bekommen (eig sollten immer ein paar Leerzellen vorhanden sein), aber da sich die Daten ja ständig ändern, kann das wirklich mal der Fall sein.
Dann ist das gut, wenn man den Fehler frühzeitig erkennt und umgeht!
Viele Grüße, Vigo

37 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige