Nachfolgender Code blendet mir in zwei verschiedenen Worksheets (einmal in demjenigen mit dem Bereich bEinAus und in demjenigen mit Bereich bvEinAus).
Dieser Code diente ursprünglich nur dem Ein-/Ausblenden in einer Tabelle, dann habe ich einfach den Code nochmals angehängt mit der 2. Bereichsdefinition.
Wie kann ich meinen Code optimieren, dass ich nicht zweimal praktisch den gleichen Code habe. Vielleicht kommt ja noch ein dritter und einer vierter dazu.
Ideal wäre beispielsweise, wenn ich in der Tabelle mit Namen "SpaltenEinAus" in der Spalte A, beginnend in Zeile 2 die entsprechenden Bereichsnamen, die ein resp. ausgeblendet werden sollen, eintragen könnte. Im Moment würde dort in Zelle A2 bEinAus und in Zelle A3 bvEinAus stehen.
Wer kann mir helfen?
Danke und Gruss, Peter
Sub SwitcherunbenutzteSpalten()
Dim rngC As Range, rngHide As Range
For Each rngC In [bEinAus].EntireRow.Cells
If rngC.value = 0 Then
If rngHide Is Nothing Then
Set rngHide = rngC
Else
Set rngHide = Union(rngHide, rngC)
End If
End If
Next rngC
If Not rngHide Is Nothing Then _
rngHide.EntireColumn.Hidden = Not rngHide.EntireColumn.Hidden
Set rngHide = Nothing
For Each rngC In [bvEinAus].EntireRow.Cells
If rngC.value = 0 Then
If rngHide Is Nothing Then
Set rngHide = rngC
Else
Set rngHide = Union(rngHide, rngC)
End If
End If
Next rngC
If Not rngHide Is Nothing Then _
rngHide.EntireColumn.Hidden = Not rngHide.EntireColumn.Hidden
Set rngHide = Nothing
End Sub