Ich habe eine Frage zur Realisierung der folgenden Aufgabenstellung.
In einem mit Namen versehenen einspaltigen Zellbereich variabler Größe sollen alle Zellen deren Zellinhalt einen vorgegebenen Text enthalten selektiert und anschließend ausgeblendet bzw. eingeblendet werden.
Der nachfolgende Programmcode greift auf den einspaltigen Namensbereich "PuLSignOffList" zu, prüft den Zellinhalt und blendet alle Zeilen aus, deren Inhalt "N/A" lautet (alle anderen Zeilen werden eingeblendet).
Problem: Sobald der ein- bzw. auszublendende Bereich eine gewisse Anzahl von Elementen übersteigt (die Variablen HideAdrRange bzw. ShowAdrRange haben zu viele Elemente, schlägt das "Select - Statement" fehl (Fehlermeldung: "Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen".
Wer kann mir die Ursache für diesen Fehler nennen und was muss ich tun damit dieser Fehler nicht mehr auftritt.
Ich bin für jede Unterstützung die mich hier weiterbringt dankbar!
Private Sub CommandButton1_Click()
Dim ShowAdrRange As String
Dim HideAdrRange As String
Dim CntRowFieldItems As Integer
CntRowFieldItems = Range("PuLSignOffList").Rows.Count
For intCounter = CntRowFieldItems - 1 To 0 Step -1
If (Cells(Range("PuLSignOffList").Row + intCounter, Range("PuLSignOffList").Column).Value) "N/A" Then
' Feldliste "Einblenden" aufbauen
ShowAdrRange = ShowAdrRange & Cells(Range("PuLSignOffList").Row + intCounter, Range(" _
PuLSignOffList").Column).Address & ","
End If
If (Cells(Range("PuLSignOffList").Row + intCounter, Range("PuLSignOffList").Column).Value) = _
"N/A" Then
' Feldliste "Ausblenden" aufbauen
HideAdrRange = HideAdrRange & Cells(Range("PuLSignOffList").Row + intCounter, Range(" _
PuLSignOffList").Column).Address & ","
End If
Next
' Identifizierte Range Ein-/Ausblenden
' Korrektur des Bereichselement Strings (letztes Trennzeichen entfernen)
If Len(ShowAdrRange) 0 Then
ShowAdrRange = Left(ShowAdrRange, Len(ShowAdrRange) - 1)
Range(ShowAdrRange).Select
If InStr(1, ShowAdrRange, ",") > 0 Then
' Show wenn mehr als ein Element vorhanden (Trennzeichen ",")
Selection.EntireRow.Hidden = False
End If
End If
' Korrektur des Bereichselement Strings (letztes Trennzeichen entfernen)
If Len(HideAdrRange) 0 Then
HideAdrRange = Left(HideAdrRange, Len(HideAdrRange) - 1)
Range(HideAdrRange).Select
If InStr(1, HideAdrRange, ",") > 0 Then
' Hide wenn mehr als ein Element vorhanden (Trennzeichen ",")
Selection.EntireRow.Hidden = True
End If
End If
End Sub