Worksheet_Change event: range 100 naambereiken als Target

Status
Niet open voor verdere reacties.

Boboes

Gebruiker
Lid geworden
5 nov 2016
Berichten
45
Ik heb bestand met 100 cellen die per cel met een naambereik zijn benoemd: afd_1, afd_2, …. t/m afd_100. Voor mutaties op die cellen is Worksheet_Change event ingesteld. Zie code. Probleem is dat de Target Range maar tot 30 argumenten/parameters gaat. En dat werkt op zich wel goed. Maar hoe krijg ik alle 100 afzonderlijke celbereiken in dat event?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ErrHandler
    Application.EnableEvents = False
    
Dim rnum As Integer

If Not Intersect(Target, Range("afd_1,afd_2,afd_3,afd_4,afd_5,afd_6,afd_7,afd_8,afd_9,afd_10,afd_11,afd_12,afd_13,afd_14,afd_15,afd_16,afd_17,afd_18,afd_19,afd_20,afd_21,afd_22,afd_23,afd_24,afd_25,afd_26,afd_27,afd_28,afd_29,afd_30")) Is Nothing Then
        If Target.Value > 0 Then
            rnum = Target.Row + 1
            If Cells(rnum, 1) <> "" Then
                Rows(rnum).Insert Shift:=xlDown
            End If
        End If
        If Target.Value = 0 Or Target.Value = "" Then
            rnum = Target.Row + 1
            If Cells(rnum, 1) = "" Then
                Rows(rnum).Delete Shift:=xlUp
            End If
        End If
End If

   
Letscontinue:
    Application.EnableEvents = True
    Exit Sub
ErrHandler:
    Resume Letscontinue
End Sub
 
Zonder vb beetje gissen natuurlijk, wellicht een For Next?
Code:
For x = 1 To 100
If Not Intersect(Target, Range("afd_" & x)) Is Nothing Then
        If Target.Value > 0 Then
            rnum = Target.Row + 1
            If Cells(rnum, 1) <> "" Then
                Rows(rnum).Insert Shift:=xlDown
            End If
        End If
        If Target.Value = 0 Or Target.Value = "" Then
            rnum = Target.Row + 1
            If Cells(rnum, 1) = "" Then
                Rows(rnum).Delete Shift:=xlUp
            End If
        End If
End If
Next x
 
Beste spaarie. Helemaal goed! Ik had daar niet aan gedacht. Code ziet er nu ook wat beter uit en is makkelijker te onderhouden... :D

Nogmaals dank!
Gr. Christ
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan