Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spalte von unten nach oben auffüllen
#1
Tongue 
Hallo,

wer kann mir bei folgender Aufgabe weiterhelfen. Ich habe eine Tabelle, in der in Spalte S ungefähr jede 10 Zeile ein Eintrag steht. Jetzt möchte ich gerne per VBA Code diese Einträge von unten nach oben in die jeweils darüber liegenden leeren Zeilen kopieren. Ich habe bereits einen Code gefunden, welcher diese Aufgabe von oben nach unten erfüllt (siehe unten). Eventuell kann mir da von Euch jemand weiterhelfen bzw. den unten angegebenen Code diesbezüglich anpassen.

Vielen Dank

Code:
Sub Ausfuellen_nach_unten()

    With Intersect(Columns("S"), ActiveSheet.UsedRange)
    .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
    End With
   
End Sub
Antworten Top
#2
Hallöchen,

hast Du schon mal mit den Zahlen in dem Formelteil experimentiert?

"=R[-1]C"
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo Schauan,

habe da schon was ausprobiert, er wurde dann jedoch nur jede befüllte Zelle jeweils einmal nach oben kopiert und nicht der gesamte darüber liegende Bereich ausgefüllt.
Antworten Top
#4
Hallöchen,

also, wenn Du statt -1 nur 1 schreibst, macht der Code das Gleiche, nur nach oben. Wenn Deiner Aufgabe zufolge alles tiefer setzen passt

Zitat: Ich habe bereits einen Code gefunden, welcher diese Aufgabe von oben nach unten erfüllt (siehe unten).

(ausgenommen die letzte Zeile, sollte doch auch alles höher setzen (ausgenommen die erste Zeile) passen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo Schauan,

wenn ich statt -1 nur 1 einsetze macht der Code das was ich vorher erwähnte: es wird nur eine Zelle darüber mit dem Wert befüllt und der Rest mit 0.
Antworten Top
#6
Hallöchen,

nein, es werden wie bei -1 alle Zeilen dazwischen gefüllt. Spalte A ist hier mit -1 gefüllt, Spalte B mit 1 und Spalte C zeigt, wie es vorher aussah.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABC
4"=R[-1]C""=R[1]C"vorher
5111
612
712
812
912
10222
1123
1223
1323
1423
1523
1623
17333
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Hallo,

hier eine Variante ohne Formelnzwischenschritt:
Sub Ausfuellen_nach_unten()
Dim rngBlock As Range
If Application.CountBlank(Application.Intersect(ActiveSheet.UsedRange, Columns("S"))) Then
For Each rngBlock In Columns("S").SpecialCells(xlCellTypeBlanks).Areas
rngBlock.Value = rngBlock.Cells(1).End(xlDown).Value
Next rngBlock
End If
End Sub
Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste