VBA neue Zeile einfügen

Bild

Betrifft: VBA neue Zeile einfügen
von: Herbert S.
Geschrieben am: 05.11.2003 17:47:43

Hallo allerseits,

folgendes Problem:
in einer Tabelle soll unter jeder Zelle mit einer bestimmten Formatierung (z.B. ColorIndex=3) mittels VBA eine neue Zeile eingefügt werden, wie funktioniert das?

mit Dank im voraus
Herbert S.

Bild


Betrifft: AW: VBA neue Zeile einfügen
von: Beni
Geschrieben am: 05.11.2003 18:29:14

Hallo Herbert,
Gruss Beni


Sub BeiRotZeileeinfügen()
For i = 1 To Cells(65536, 1).End(xlUp).Row * 2
  If Cells(i, 1).Interior.ColorIndex = 3 Then
Cells(i + 1, 1).Rows("1:1").EntireRow.Insert
Range(Cells(i + 1, 1), Cells(i + 1, 256)).Interior.ColorIndex = xlNone
End If
Next i
End Sub



Bild


Betrifft: AW: VBA neue Zeile einfügen
von: Herbert S.
Geschrieben am: 06.11.2003 09:25:59

Hallo Beni,

danke für die Antwort, funktioniert aber nicht.

mfg
Herbert S.


Bild


Betrifft: AW: VBA neue Zeile einfügen
von: Beni
Geschrieben am: 06.11.2003 18:09:53

Hallo Herbert,
ich habe es getestet und es funktioniert.
Zur Erklärung:
1.) Zuerst wird die letzte Zeile in Spalte A gesucht und verdoppelt, verdoppelt, weil durch das einfügen die letzte Zeile nach unten geht.
2.) Dann wird in Spalte A nach roten Zellen gesucht, wenn das der Fall ist,
3.) wird eine Zeile tiefer eine Zeile eingefügt
4.) und dann die Farbe entfernt.
Gruss Beni


Sub BeiRotZeileeinfügen()
For i = 1 To Cells(65536, 1).End(xlUp).Row * 2 '<<< 1.)
  If Cells(i, 1).Interior.ColorIndex = 3 Then '<<< 2.)
Cells(i + 1, 1).Rows("1:1").EntireRow.Insert '<<< 3.)
Range(Cells(i + 1, 1), Cells(i + 1, 256)).Interior.ColorIndex = xlNone '<<< 4.)
End If
Next i
End Sub



Bild

Beiträge aus den Excel-Beispielen zum Thema " Zelle mit Formel einfügen"