Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
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 ausfüllen

Leerzellen ausfüllen
12.11.2012 18:25:28
Helmut
Hallo Excel Profis,
ich möchte in einem Bereich die Leerzellen mit dem darüber liegendem Wert ausfüllen lassen. Gibt es dazu einen Befehl in Excel, ohne dass ich das über VBA lösen muss?
(Siehe Beispieldatei; in die gelben bzw. grünen Zellen soll jeweils der darüber liegende Wert geschrieben oder kopiert werden; das Original ist natürlich viel umfangreicher.)
Vielen Dank im voraus für Eure Mühe.
Gruß Helmut
https://www.herber.de/bbs/user/82599.xlsx

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzellen ausfüllen
12.11.2012 18:42:08
Hajo_Zi
Hallo Helmut,
über VBA Löst man es über eine Zeile.
Versuche, Spalte markieren, Register Start, Befehlsgrupppe Bearbeiten, Suchen und Auswählen , Gehe Zu, Inhalte Leerzellen und jetzt in der Bearbeitungsleiste =A7 (letzte Zelle mit Wert vor der ersten Leerzelle), Strg+Enter

AW: Leerzellen ausfüllen
12.11.2012 18:54:43
Helmut
Hallo Hajo,
vielen Dank für die schnelle Antwort.
Leider funktioniert es nicht so wie gewünscht.
Du hast mich neugierig gemacht, wie würde die Lösung mit VBA aussehen?
Für eine Antwort wäre ich Dir sehr dankbar.
Gruß Helmut

Anzeige
AW: Leerzellen ausfüllen
12.11.2012 19:07:44
Hajo_Zi
Hallo Helmut,
ich hatte die Anleitung Live geschrieben. Nach dem Du geschrieben hast das geht nicht habe ich es getestet und es geht.
Range("a:a").SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Gruß Hajo

AW: Leerzellen ausfüllen
12.11.2012 19:23:02
Helmut
Hallo Hajo,
vielen Dank für die schnelle Lösung.
Ich verwende die VBA-Variante.
Gruß Helmut

dann probier mal das ...
12.11.2012 19:36:38
Matthias
Hallo
Und wenn die Daten so vorliegen?
Tabelle1

 A
1 
2yx
3 
4cx
5 
61
7 
8?
9 
10 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
bekommst Du das als Ergebnis
Tabelle1

 A
10
2yx
3#BEZUG!
4cx
5#BEZUG!
61
7#BEZUG!
8?
9 
10 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: dann probier mal das ...
12.11.2012 20:00:43
Helmut
Hallo Matthias,
und wie funktioniert Deine Lösung?
Gruß Helmut

so wie Hajo im 1.Beitrag schreibt ...
12.11.2012 20:27:07
Matthias
Hallo
Erste nichtleere Zelle bis zum Ende Deines gewünschten Bereichs markieren.
Dann wie Hajo beschrieben hat:

  • F5

  • Leerzellen auswählen


Userbild
Das Ergebnis sieht dann so aus:
Tabelle1

 A
2aaa
3aaa
4aaa
5bbb
6bbb
7ccc
8ccc

Formeln der Tabelle
ZelleFormel
A3=A2
A4=A3
A6=A5
A8=A7


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Am Ende kannst Du dann Formeln durch deren Werte ersetzen.
Gruß Matthias

Anzeige
auf Deine Datei bezogen- so?
12.11.2012 20:15:56
robert
Sub tt() Dim i%, sp% For sp = 2 To 3 For i = 2 To Cells(Rows.Count, 3).End(xlUp).Row + 1 If Cells(i, sp) = "" Then Cells(i, sp) = Cells(i - 1, sp) End If Next i Next sp End Sub Gruß
robert

@robert
12.11.2012 20:40:32
Matthias
Hallo robert
Klappt natürlich, hätte ich ja auch so gemacht wie Du :-)
Warum aber nicht mit Bordmitteln?
Warum sich hier Hajo hat hinreisen lassen Range("a:a") zu benutzen ist mir ein Rätsel.
Aber was wollte Helmut zuerst?
Gibt es dazu einen Befehl in Excel, ohne dass ich das über VBA lösen muss?
Dazu habe ich (allerdings nur unter XL2007) in meinem letzten Beitrag an Helmut die Schritte
nochmal dargestellt und ist eigentlich genau das was Hajo zuerst vorgeschlagen hat.
Gruß Matthias

Anzeige
AW: @Matthias....
12.11.2012 20:43:47
robert
Ich verwende die VBA-Variante.
Gruß Helmut

Hi Matthias,
ich habe mich auf diese Aussage bezogen :-)
aber-wieviele Wege führen nach Rom ?
;-)Gruß
robert

@robert:: Genau! Hauptsache man kommt an ;-) owT
12.11.2012 20:47:47
Matthias

AW: auf Deine Datei bezogen- so?
12.11.2012 20:52:25
Helmut
Hallo Robert,
Deine Variante entspricht am ehesten meiner Anforderung.
Allerdings ist jetzt noch eine andere Aufgabenstellung dazu gekommen.
In der nochmals beigefügten Beispieldatei siehst Du die neue Herausforderung.
Dabei sollen die Werte in den Spalten B, C und D nur soweit ausgefüllt werden, wie Codezahlen in der Spalte E vorhanden sind.
Ich hoffe, dir nicht zuviel Aufwand zu verursachen.
Vielen Dank auf jeden Fall für Deine Mühe und Hilfsbereitschaft.
Gruß Helmut
https://www.herber.de/bbs/user/82603.xlsx

Anzeige
In Spalte E steht aber nichts ? owT
12.11.2012 20:56:22
robert

bevor ich weitermache....
12.11.2012 21:09:12
robert
Hi Helmut,
sieht Deine Originaldatei genau ! so aus ?
Beispiel 1, bzw. Beispiel 2 - oder wie ist der Datenaufbau ?
also-bitte Daten wie in Originaldetei schicken !
Gruß
robert

AW: bevor ich weitermache....
12.11.2012 21:22:56
Helmut
Hallo Robert,
siehe Tabelle 3.
Heute sieht mein Beispiel so aus, morgen wie Beispiel 3 in Tabelle 2, übermorgen ?.
Entscheidend ist die Codespalte. Bis zur Zeile wo der letzte Code steht, muss links davon immer etwas stehen. Standort/Kostenstelle/Struktureinträge kommen unterschiedlich vor.
Anzahl der Zeilen kann auch unterschiedlich sein, mal 5 mal 10 usw.
Danke nochmals.
Helmut
https://www.herber.de/bbs/user/82605.xlsx

Anzeige
AW: bevor ich weitermache....
13.11.2012 07:39:03
robert
Hi Helmut,
also ich blick nicht durch...
Können Deine Daten einmal in Spalte A, dann wieder einmal in Spalte B oder sonstwo beginnen?
Bei Excel gut sollte es doch möglich sein, den Datenaufbau klar zu definieren ;-)
Die Anzahl der Zeilen ist kein Problem.
Gruß
robert

AW: bevor ich weitermache....
13.11.2012 16:34:03
Helmut
Hallo Robert,
jetzt erst komme ich dazu, mich wieder um das Problem zu kümmern.
Also die Daten kommen immer unterschiedlich. Ich habe mich jetzt aber auf die letzte Variante in Tabelle 3 festgelegt (ich stelle die Daten selbst so hin, dass sie in Spalte A und in Zeile 97 beginnen).
Ich hoffe, ich mache Dir nicht zu viel Aufwand.
Auf jeden Fall bedanke ich mich nochmal ausdrücklich bei Dir.
Gruß Helmut

Anzeige
Neue Variante....
13.11.2012 16:43:25
robert
Hi Helmut,
wenn Deine Daten IMMER in den Spalten A bis D stehen, ist die Zeile ! egal.
Probiers einmal aus und melde, ob in Ordnung.
Gruß
robert
Sub Mtt()
Dim lz%
Dim iRow As Integer
Dim erste As Integer
iRow = 2
On Error Resume Next
erste = Application.Match("Code*", Columns(4), 0) + 1
lz = Cells(Rows.Count, 4).End(xlUp).Row
With Range("A" & erste & ":D" & lz)
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
End With
End Sub

AW: Neue Variante....
13.11.2012 17:00:32
Helmut
Hi Robert,
SUPER... es funktioniert einwandfrei.
Vielen, vielen Dank. Jetzt fällt mir ein Stein vom Herzen.
Du hast mir wirklich viel Handarbeit abgenommen.
Gruß Helmut

Anzeige
na das freut mich :-) Danke f.Meldung-owT
13.11.2012 17:06:08
robert
owT = ohne weiteren Text

wenigst hast Du ne Rückmeldung, schön f, Dich owT
13.11.2012 18:17:33
Matthias

SORRY Matthias........
13.11.2012 18:37:37
robert
Hi Matthias,
natürlich hätte ich auch Dir eine Rückmeldung geben müssen,
noch dazu, wo Du mich an Union.. erinnert hast :-)
Ist aber keine Absicht dahinter, aber bin momentan etwas " nervös",
da ich mit meinen Eltern Probleme habe ( Vater 94, Mutter 91 ), sind schon schrullig ;-))
Also, nicht böse sein und nochmals Dank an Dich :-)
Gruß
robert

Du kannst auch Union benutzen
12.11.2012 21:13:56
Matthias
Hallo
Für Dein neues Beispiel
So könntest Du Hajos Code wieder benutzen
With Union(Range("B5:E9"), Range("B14:E22"))
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
End With
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige