Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

scheife....werte kopieren

scheife....werte kopieren
26.11.2004 10:35:48
jan
hi ho
ich habe ein kleines prob mit meinem excel sheet:
in mehreren spalten sind untereinander werte aufgeführt, wobei dazwischen leerzellen angegeben sind. ein kleines programm soll mir nun in die leerzellen den daüberliegenden wert kopieren:
set a=Range("a8,a10000")...set b=....set c=....
Dim i as integer
lastrow = Worksheets("Book1").Range("b65536").End(xlUp).Row + 1
For i = 8 To lastrow
If a.cells(i, 1).Value = Empty Then
a.cells(i, 1).Value = a.cells(i - 1, 1).Value
End If
Next
For i = 8 To lastrow
If b.cells(i, 2).Value = Empty Then
b.cells(i, 2).Value = b.cells(i - 1, 2).Value
End If
Next
For i = 8 To lastrow
If c.cells(i, 3).Value = Empty Then
c.cells(i, 3).Value = c.cells(i - 1, 3).Value
End If
Next
leider macht das programm nicht das was ich will;) in spalte a sind noch einige zellen leer, v.a. am schluss des sheets. spalte b wird überhaupt nicht ausgeführt und spalte c auch wiederum nur lückenhaft.
kann mir jemand helfen...?;)
P.S. HANS:::DAS MIT DEINER SCHLEIFE HAT SUPER GEKLAPPT::::THANX AN DIESER STELLE;)

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

Betreff
Datum
Anwender
Anzeige
AW: scheife....werte kopieren
IngoG
Hallo Jan
bin mir nicht sicher, ob ich Dein Prob richtig verstanden habe.
versuchs einfach mal so:

Sub aaa()
Dim zelle As Range
If [a1] = "" Or [b1] = "" Or [c1] = "" Then
MsgBox "Startzeile ist nicht vollständig gefüllt"
End If
For Each zelle In Range("a2:a" & Application.WorksheetFunction.Max(Range("a65536").End(xlUp).Row, _
Range("b65536").End(xlUp).Row, _
Range("c65536").End(xlUp).Row))
If zelle = "" Then zelle = zelle.Offset(-1, 0).Value
If zelle.Offset(0, 1) = "" Then zelle.Offset(0, 1) = zelle.Offset(-1, 1).Value
If zelle.Offset(0, 2) = "" Then zelle.Offset(0, 2) = zelle.Offset(-1, 2).Value
Next zelle
End Sub

Gruß Ingo
Anzeige
und so ab Zeile 8 ;-)
IngoG
Hallo nochmal,
wenns erst ab zeile 8 Losgehen soll:

Sub aaa()
Dim zelle As Range
If [a8] = "" Or [b8] = "" Or [c8] = "" Then
MsgBox "Startzeile ist nicht vollständig gefüllt"
End If
For Each zelle In Range("a9:a" & Application.WorksheetFunction.Max(9, Range("a65536").End(xlUp).Row, _
Range("b65536").End(xlUp).Row, _
Range("c65536").End(xlUp).Row))
If zelle = "" Then zelle = zelle.Offset(-1, 0).Value
If zelle.Offset(0, 1) = "" Then zelle.Offset(0, 1) = zelle.Offset(-1, 1).Value
If zelle.Offset(0, 2) = "" Then zelle.Offset(0, 2) = zelle.Offset(-1, 2).Value
Next zelle
End Sub

Gruß Ingo
Anzeige
AW: scheife....werte kopieren
26.11.2004 11:11:37
Josef
Hallo Jan!
Versuch mal.

Sub test()
Dim lastRow As Long
Dim i As Long
lastRow = Worksheets(1).Range("B65536").End(xlUp).Row + 1 '"Book1"
For i = 8 To lastRow
If IsEmpty(Cells(i, 1)) Then Cells(i, 1) = Cells(i - 1, 1)
If IsEmpty(Cells(i, 2)) Then Cells(i, 2) = Cells(i - 1, 2)
If IsEmpty(Cells(i, 3)) Then Cells(i, 3) = Cells(i - 1, 3)
Next
End Sub

Gruß Sepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige