Vi kommer att lösa det här, inga tvivel som helst.
Jag var lite otydlig när jag skrev att variabler skulle deklareras överst i koden. Med det menas överst i den procedur de tillhör, vilket inte är så givet om man inte vet.
Sammanfattat angående variabler:
En procedur eller funktion har ett procedurhuvud och ett slut (gulmarkerade i bilden)
Alla variabler deklareras i princip uteslutande direkt under procedurhuvudet INOM proceduren, innan all annan kod kommer. De ska läggas där oavsett när i koden de kommer användas.

Det finns variabler som kan vara inom parentesen i själva procedurhuvudet och kallas då argument, men det behöver vi inte ta upp nu (men jäklar så nyttigt att kunna i ditt framtida kodande). Sen finns det globala variabler
som faktiskt placeras överst (ovanför alla procedurer), men vi lämnar det också.
Sen till ditt problem med felmeddelandet du får.
Eftersom du får meddelandet att det inte går att hitta metoden eller datamedlemmen så betyder det att Chb1 inte är det objekt jag trodde du hade på ditt blad (eller att ws lurar på något vis). Vi börjar med att klargöra vad för checkboxar du använder. Jag
gissade på ActiveX-kontroller, men återigen kanske har jag förhastat mig.
När du placerade dina checkboxar på bladet, från vilken kategori enligt bilden nedan var det?
Formulärkontroller eller ActiveX-kontroller

Eftersom du använt kod tidigare mot dessa checkboxar så ser jag inget annat alternativ än att det är ActiveX, men jag vill bara dubbelkolla med dig att så är fallet.
Det som troligen spökar är att det aktiva bladet inte satts korrekt i koden, så ws.Chb1 tolkas inte korrekt.
Vi kan kolla om det går att sätta din första checkbox på ett "manuellt" sätt där vi använder både
ws och Chb1.
Se till att första bladet är det aktiva bladet. Gå till vb-editorn och se till att Direktfönstret är öppnat (tryck Ctrl+G, så visas den).
I fönstret skriver du
Set ws = Activesheet (tryck Enter)
Skriv
ws.chb1.value = True (eller False, bara du växlar värdet så du ser att något händer, tryck Enter)
Ändrade checkboxen värde så funkar koden. Då är det ws som inte hamnat rätt, och detta kanske rättar sig själv enligt beskrivningen av var du placerar variabler jag nämnde i början.
Nya tester, nya framsteg hoppas jag.