Macro activeren als Checkboxen veranderen of inhoud range veranderd

Status
Niet open voor verdere reacties.

Visara

Gebruiker
Lid geworden
10 mrt 2019
Berichten
217
Goededag,

Hoe kan ik een macro activeren wanneer een van de aanwezige selectievakjes wordt aan-of uit geklikt en/of wanneer de inhoud in een specifieke range veranderd?

Ik heb een werkende macro die doet wat ik wil:
Code:
Sub Kassamedewerkers_sorteren()
ActiveSheet.Unprotect
    Worksheets("InvoerKassaplanning").Range("C2:D10").Copy
    Worksheets("InvoerKassaplanning").Range("E2").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Worksheets("InvoerKassaplanning").Range("E2:F10").Sort Key1:=Range("E2"), Order1:=xlDescending, Key2:=Range("F2"), Order1:=xlAscending
ActiveSheet.Protect
    Range("H2").Select
End Sub
Ik activeer deze code nu door een toegewezen knop in te drukken.
Ik zou echter graag willen dat die knop niet nodig was.
Ik wil graag dat deze code geactiveerd wordt wanneer een van de aanwezige selectievakjes wordt veranderd van WAAR naar ONWAAR en vica versa (wanneer ze worden aangeklikt dus)
en ik zou graag willen dat deze code wordt geactiveerd wanneer de inhoud in een van de cellen in Range("B2:B10") veranderd. De inhoud in deze cellen komt tot stand dmv een formule.

In de programmacode van het bewuste tabblad staat al een "Sub Worksheet_Change"-code, moet de code die ik vraag hierin geïntegreerd worden dmv een tweede 'If'?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("I:J, M:N, Q:R, U:V")) Is Nothing And Not IsEmpty(Target) And Target.Cells.Count = 1 Then
    Application.EnableEvents = False
    Target = Replace(Format(Target / 100, "00.00"), ",", ":")
    Application.EnableEvents = True
  End If
  
End Sub

Mvg, Visara
 

Bijlagen

  • VraagVoorForum.xlsm
    25,4 KB · Weergaven: 23
Een nachtje er over slapen hielp :) De macro kan aan elke individuele checkbox worden gekoppeld en de macro kan in een Private Sub Worksheet_Activate() worden gezet.
Alles werkt dan zoals ik voor ogen had.
 
Je kan simpel een macro aan een selectievajke koppelen.
Aan allemaal dezelfde dus.
De waarde kan je dan controleren met:
Code:
cbxWaarde = ActiveSheet.Shapes(Application.Caller).OLEFormat.Object.Value
1 = Aangevinkt
-4146 = Niet aangevinkt

De naam van de checkbox kan je ophalen met:
Code:
cbxNaam = Application.Caller
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan