Hallo Andreas,
herzlichen Dank für deine Hilfe, die mir natürlich ebenso willkommen ist.
Es funktioniert jetzt beinahe, nur werden auch Zeilen gelöscht, die stehen bleiben sollen.
Vermutlich habe ich Teile meiner „Baustelle“ ungewollt mit Teilen deines Vorschlags kombiniert.
Zum Testen habe ich eine eigene Exceldatei angelegt. Darin läuft folgendes dreiteilige Makro. Ich füge es nachstehend ein. Es ist denke ich ausreichend dokumentiert. „Unser“ Problem liegt im dritten, untersten und zugleich kleinsten Makro.
Ich bin mir sicher, dass du erkennst, woran es liegt.
Übrigens: wenn ich das darin enthaltene END IF aktiviere, erhalte ich eine Fehlermeldung.
Nochmals herzlichen Dank für jede Hilfe,
Ludwig
Und jetzt mein Makroentwurf:
**************************************************************
Sub Makro1()
’
’ Makro1 Makro
'Vorbereiten für Test (Teil 1)
'alles löschen; Farbe entfernen
Columns(„A:B“).Select
Selection.ClearContents
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range(„A1“).Select
'Vorbereiten für Test (Teil 2)
'in Spalte A Reihe (Spalte) ausfüllen von 1 bis 30
'dann einige Leerzeilen dazwischenschieben und diese gelb markieren
Range(„A1“).Select
ActiveCell.FormulaR1C1 = „1“
Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
Step:=1, stop:=30, Trend:=False
Range(„A6,A12,A18,A24“).Select
Range(„A24“).Activate
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range(„A6,A13,A20“).Select
Range(„A20“).Activate
ActiveWindow.SmallScroll Down:=9
Range(„A6,A13,A20,A27“).Select
Range(„A27“).Activate
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveWindow.SmallScroll Down:=-21
Range(„A1“).Select
'Wichtigstes Makro-Teil:
'Leerzeilen löschen
Dim zn As Integer
'zn für „Zeilennummer“
For zn = 40 To 1 Step -1
If IsEmpty(Range(„A“ & zn)) Then Rows(zn).Select
Selection.Delete Shift:=xlUp
'End If
Next zn
End Sub