Po przeładowaniu całego skryptu, niektóre listenery odpalane są podwójnie... po 4 przeładowaniu czterokrotnie.
Jest sposób na definitywne wyczyszczenie handlerów z arkusza? - czyszczenie z poszczególnych komórek, czy z 'ranges' czy z 'cells' nic nie zmienia!
------
edit: zauważyłem że ten problem pojawia się gdy modyfikujemy kod basic - zmienne się zerują ale listenery zostają tracąc powiązanie.
Kod: Zaznacz cały
Sub remove_modifyListeners
On Error Resume Next
If Not IsNull(B_Mod_Handler) Then 'filter listener
ThisComponent.Sheets(0).getCellrangeByName("B1").RemoveModifyListener(B_Mod_Handler)
B_Mod_Handler = Nothing
msgbox "filter handler removed " & IsNull(B_Mod_Handler)
EndIf
If Not IsNull(AF_Mod_Handler) Then 'rows listener
ThisComponent.Sheets(0).getCellrangeByName("AF1").RemoveModifyListener(AF_Mod_Handler)
AF_Mod_Handler = Nothing
msgbox "rows handler removed " & IsNull(AF_Mod_Handler)
EndIf
End Sub