Auto ausfüllen über 2 Spalten

Hallo,

ich nutze diesen Makrobefehl, um leere Zellen in Spalte D von D1 bis D500 mit dem letzten oberen Zellinhalt auszufüllen:

For Each c In Range(„D1“, „D500“)
If c „“ Then NeuerName = c Else c.Value = NeuerName
Next

Wie geht das für zwei Spalten(D und E)?
Wenn ich den Befehl nacheinander in Spalte D und dann E laufen lasse, bekomme ich die letzen Zellinhalte von D an den Anfang von E ausgefüllt.

Grüsse

Matthias

ich nutze diesen Makrobefehl, um leere Zellen in Spalte D von
D1 bis D500 mit dem letzten oberen Zellinhalt auszufüllen:

For Each c In Range(„D1“, „D500“)
If c „“ Then NeuerName = c Else c.Value = NeuerName
Next

Wie geht das für zwei Spalten(D und E)?

Hi Matthias,

Sub nn()
Dim Zei As Long
Zei = Range(„D500“).End(xlUp).Row
Range(„D“ & Zei +1 & „:smiley:500“) = Range(„D“ & Zei)
Zei = Range(„E500“).End(xlUp).Row
Range(„E“ & Zei+1 & „:E500“) = Range(„E“ & Zei)
End Sub

Gruß
Reinhard

Hallo Reinhard,
Danke für die schnelle Antwort. Ich habe natürlich die Aufgabe nicht vollständig bzw. richtig formuliert:
Es sollen die Zellen mit dem vorh. Eintrag bis zum nächsten Eintrag gefüllt werden:

A B

C D

sieht dann so aus (die „Füllspalten“ haben unterschiedlich viele Zellen, das läßt sich hier aber schlecht darstellen):
A B
A B
A B
A B
C D
C D
C D
C D
C D
C D
Deine Formel geht, füllt aber nur vom letzten Zelleintrag aus, entspricht jedoch genau meiner ursprünglichen Fragestellung. Sorry!

Gruß

Matthias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke für die schnelle Antwort. Ich habe natürlich die Aufgabe
nicht vollständig bzw. richtig formuliert:
Es sollen die Zellen mit dem vorh. Eintrag bis zum nächsten
Eintrag gefüllt werden:

Hi Matthias,

Option Explicit
'
Sub Fuell()
Dim c, D, E
For Each c In Range("D1:smiley:500")
 If c "" Then
 D = c
 Else
 c.Value = D
 End If
 If c.Offset(0, 1) "" Then
 E = c
 Else
 c.Offset(0, 1) = E
 End If
Next c
End Sub

Gruß
Reinhard

Hi Reinhard,
tut mir leid, muß nochmal nerven:
Jetzt werden die leeren Zellen in Spalte D und E so ausgefüllt:
A D
A A
A A
B E
A B
A B
C B
A F
A C
A C
Es sollen aber alle leere Zellen unter A mit A, unter B mit B usw. gefüllt werden. Mit „Eigenmanipulationen“ krieg ich die Zirkelfunktion nicht hin, das haperts halt.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Sorry Matthias,

war’n Fehler im Code:

Sub Fuell()
Dim c, D, E
For Each c In Range("D1:smiley:500")
 If c "" Then
 D = c
 Else
 c.Value = D
 End If
 If c.Offset(0, 1) "" Then
 E = c.Offset(0, 1)
 Else
 c.Offset(0, 1) = E
 End If
Next c
End Sub

Gruß
Reinhard

Hi Reinhard, jetzt klappt es so, wie’s soll! Mal wieder Dankeschön, ich zieh mir jetzt einen Kaffe auf Dein Wohl 'rein!
Grüsse

Matthias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]