Wie kann man Inhalte von Zellen in darunterliegende Zellen kopieren?
In meinem Tabellenblatt in Spalte A sind Werte eingetragen mit Leerzeilen dazwischen. Ich möchte diese Werte immer bis zum nächsten Wert kopieren, so das am Ende meine Tabelle komplett ausgefüllt ist. Es gibt bestimmt ein Makro oder eine Funktion die das kann.
3 Antworten
Erstell eine Hilfsspalte (im Beispiel B), für B1: =A1
für B2: =WENN(A2="";B1;A2)
Diese Formel in B runterkopieren, dann stehen hier alle Werte. Danach kannst du die Spalte kopieren, A markieren, rechtsklick, Inhalte einfügen..., Nur Werte. Die Hilfsspalte kannst du dann löschen.
und vergissnicht, die Hilfreichste auszuzeichnen! (ist die einzige Möglichkeit hier, den Expertenstatus zu bekommen / aufrechtzuerhalten!)
Vielen Dank an alle die sich beteiligt haben bei der Lösungsfindung. Die Wenn Funktion war genau das was ich gesucht habe, vielen Dank!!!!
Wenn du die Zeilen nicht wie Suboptimierer schon geschrieben hat nicht nur Filtern sondern komplett löschen willst kannst du das mit folgendem Makro erreichen.
Gehe einfach mit ALT+F11 in den VBA Modus der Tabelle wo die Leerzeilen weg sollen (aber auch nur diese Tabelle, zum Beispiel "Tabelle1") und gibt dort folgenden Code ein:
Sub Leerzeilen_loeschen()
Dim lngSpalte as Long
lngSpalte = 1
For a = ActiveSheet.Cells(Rows.Count, lngSpalte).End(xlUp).Row To 1 Step -1
If ActiveSheet.Cells(a, 1).Value = "" Then
Rows(a).Delete shift:=xlUp
End If
Next a
End Sub
Wenn du das nur einmal brauchst kannst du gleich oben über das grüne Dreieck (Sartpfeil), das Makro einmal ausführen und das ganze auch gleich wieder löschen. Wenn du das für später wieder brauchen solltest mußt du deine Datei dann als xlsm Datei (Excel-Arbeitsmappe mit Makros) speichern.
Hilft dir das weiter?
Ich würde mir einen Autofilter setzen "(Leere)" abhaken und das Ergebnis bei Bedarf herauskopieren.
so kann man es auch sehen:)) Entspricht aber leider nicht meinen natural.
Ein deutlicher Hinweis, dass deine Funktion löscht, würde reichen. Es wäre sonst zu schade um deine Arbeit.
Ich denke eher das eine Antwort die nicht das auslöst was der Fragesteller möchte und bei falscher Anwedung mehr schadet als hilft nicht stehen bleiben sollte :)) Die Arbeit hilt sich in Grenzen
obwohl: wenn wer-auch-immer einen fremden code ohne ihn zu verstehen und ohne dies auf einer arbeitskopie zu tun und dabei was kaputt macht - der hat hoffentlich was gelernt.
Naja, da hast du wohl genauso wie ich was falsch verstanden.
Zum Glück hat maximilianus7 mich auf meinen Fehler hingewiesen, deswegen habe ich meine Antwort lieber gleich wieder gelöscht bevor dadurch noch was an seiner Tabelle kaputt geht.
Er will die leeren ja befüllen und nicht ausblenden geschweige denn löschen. Er will die leeren Zeilen immer mit dem Wert darüber auffüllen bis die Tabelle gefüllt ist :)))