hallo zusammen,
ich habe eine liste; in der spalte B sind namen, nach denen ich die liste sortiert habe. (zb. 4x maier, 10x huber, etc) dann habe ich viele einträge mit einem autofilter (so wird das tabellenblatt dan produktiv genutzt) ausgebendet, je nach bedarf des Benutzers.
per VBA versuche ich nun, zwischen den einzelenen "gruppen" der einträge aus Spalte B eine horizontale Linie als optischen "trenner" zu zeichnen. das funktioniert leider dann nicht, wenn die linie direkt an einer stelle ist, die an eine ausgeblendete zeile (durch den filter) grenzt.
ich vermute, hier die programmeirung anpassen zu müssen, da das Skript ja Zeilen vergleicht auf ungleichen Inhalt, dies aber nicht funktioniert, da eben zeilen ausgeblendet sind und die nummierieungen nicht mehr forlaufend sind.
wie kann ich das lösen?
danke und grüße
code:
'linien einfügen
Dim Letzte As Long, Zeile As Long
Dim Zelle As Range
With Tabelle1
Letzte = .Cells(Rows.Count, 5).End(xlUp).Row
Application.ScreenUpdating = False
'"alte" Rahmen löschen
For Each Zelle In Intersect(.UsedRange, .Range("A2:bc" & Letzte))
Zelle.Borders(xlEdgeBottom).LineStyle = xlNone
Next
'"neue" Rahmen setzen
For Zeile = Letzte + 1 To 3 Step -1
If .Cells(Zeile, 3) <> .Cells(Zeile - 1, 3) Then
With .Range("A" & Zeile - 1 & ":bc" & Zeile - 1).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
End With
End If
Next
Application.ScreenUpdating = True
End With
|