Wykrywanie zmian w polach wyboru za pomocą VBA

Kontynuacja mojego poprzedniego pytania.

Wymaganiem klienta jest zaznaczenie pól wyboru na raporcie, aby wyłączyć wiersze informacji na innym arkuszu. Wiersze są zdefiniowane jako nazwane zakresy, sformatowane przez P_XXXXXX. XXXXXX to unikalny identyfikator, który jest także polem w rzędzie, dzięki czemu mogę łatwo generować nazwy zakresów w locie.

Problem, który mam, to:

Po kliknięciu pozycji, a następnie zamknięciu formularza Excel pyta, czy chcemy zapisać. Jest to niepożądane.

Potrzebuję jakoś zarejestrować zdarzenie zmiany, które miało miejsce na moich wygenerowanych polach wyboru. Więc jeśli jedna lub więcej zmian mogę przejść i ukryć / odkryć odpowiednie zakresy.

Mój kod do dodawania pól wyboru wygląda następująco:

<code>        ' For each row...

        ' check box in column 17(=Q).
        Dim lCenter As Long
        lCenter = rngCurrent.Width / 4 ' not actual centre but close enough
        With ActiveSheet.CheckBoxes.Add(rngCurrent.Left + lCenter, rngCurrent.Top - 2, rngCurrent.Width, rngCurrent.Height)
            .Interior.ColorIndex = xlNone
            .Caption = ""
        End With
</code>

Jak więc połączyć zmianę w polu wyboru z sub / funkcją?

questionAnswers(2)

yourAnswerToTheQuestion