Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen mit Werten aus darüberliegender Zelle fülle

Zellen mit Werten aus darüberliegender Zelle fülle
11.08.2008 08:59:25
Andreas
Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen. Eigentlich habe ich hier mit keinem Problem gerechnet, nur leider funktioniert meine copy-paste-Schleife nicht.
Ich gehe wie folgt vor: In einer Spalte werden die Zellen von oben nach unten druchgegangen und wenn die Zelle leer ist, soll Excel den Wert der darüberliegenden Zelle nehmen. So sollen alle Spalten druchgegangen werden.
Spalten- und Zeilenzahl soll Excel dabei automatisch erkennen, weil diese immer variieren.
Mit folgendem Code habe ich es bisher versucht, nur beim eigentlich entscheidenden Teil, wenn die Werte kopiert und eingefügt werden sollen, gibt es ein Problem.

Sub Zellenauffuellen()
Dim Wert1, Column As Integer    'Spalten
Dim Wert2, Row As Long          'Zeilen
Dim ActiveWorkbook, Workbook As Variant
Wert1 = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1
Wert2 = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
Column = 1
Do Until Column = Wert1
Row = 1
Do Until Row = Wert2
If ActiveCell = "" Then
ActiveSheet.Cells(Row - 1, Column).Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Cells(Row, Column).Select
ActiveSheet.Paste
End If
Row = Row + 1
Loop
Column = Column + 1
Loop
End Sub


Wäre super, wenn mir jemand weiterhelfen könnte.
Vielen Dank!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit Werten aus darüberliegender Zelle fülle
11.08.2008 09:21:22
David
Ich hatte kürzlich ein ähnliches Problem und habe hier im Forum diese Lösung bekommen:

With Range("A2:E" & ActiveSheet.Cells(Rows.Count, 10).End(xlUp).Row)
.SpecialCells(xlCellTypeBlanks).FormulaLocal = "=A1"
.Formula = .Value
End With


Das sollte leicht auf deine Verhältnisse anpassbar sein, du musst nur die Range entsprechend definieren.
Gruß
David

Möglichkeit
11.08.2008 09:33:46
backowe
Hi,
VBA-Code:
Sub Zellenauffuellen()
Dim Zelle As Range
Dim Zeile As Long
Dim Spalte As Integer
Zeile = Cells(Cells.Find(What:="*", After:=[A1], _
  SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row, "A").Row
Spalte = Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column
For Each Zelle In Range("A1:" & Cells(Zeile, Spalte).Address)
  If Zelle = "" Then Zelle = Zelle.Offset(-1, 0)
Next
End Sub
Gruß Jürgen

Anzeige
AW: Möglichkeit
11.08.2008 09:39:00
Andreas
Super, vielen Dank!!

366 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige