vividillusion
vividillusion

Reputation: 99

CheckBox to control other check boxes INTERMITTENTLY causing Excel to crash

Greatly appreciated. I can literally halve the code on the text boxes. I don't know if I am over that limit but If you have a moment to glance over it here is the full code.

80% of it is the True/False statements in the old syntax, but could it be because it is such a large sub?

Private Sub CommandButton2_Click()
Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Master Data")

' Confirmation of Entry to Form

If MsgBox("Have you double checked your data is correct and ALL test points have been selected before entering on the spreadsheet?", vbYesNo) = vbNo Then    Exit Sub

' Find first empty cell in Column A after existing data

NextFree = Range("A10:A" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree).Select

' Insert row below active cell
ActiveCell.Offset(1).EntireRow.Insert

' Copy Live formula and Out Today formulas down from cells above in Col A, B and C
' Enters the data from the corresponding VBA form into offset cells from active cell reference

Dim lstRw As Long
Dim Rng As Range
lstRw = Cells(Rows.Count, "A").End(xlUp).Row
Set Rng = Range("A" & lstRw + 1)
Range("A" & lstRw & ":NK" & lstRw).Copy Range("A" & lstRw + 1)
With Rng
.Offset(, 3) = DateTextBox.Value
.Offset(, 4) = GroupComboBox.Value
.Offset(, 5) = ProjectTextBox.Value
.Offset(, 6) = ReqTextBox.Value
.Offset(, 7) = PartTextBox.Value

.Offset(, 9) = COSHHTextBox.Value
.Offset(, 10) = ContainerComboBox.Value
.Offset(, 11) = SampleIDTextBox.Value


.Offset(, 14) = TechComboBox.Text
.Offset(, 15) = ChemComboBox.Text

    ' Locations For temperatures

.Offset(, 17) = TextBox60Tray.Text
.Offset(, 19) = TextBox50Tray.Text
.Offset(, 21) = TextBox40Tray.Text
.Offset(, 23) = RTTb.Text
.Offset(, 25) = Minus15Tb.Text

    'Brookfield CheckBox Logic statement

    If BrookfieldCB.Value = True Then .Offset(, 27).Value = 1
    If BrookfieldCB.Value = False Then .Offset(, 27).Value = ""

.Offset(, 28) = BrookfieldKitTextBox.Value

    'AntonParr CheckBox Logic statement

    If AntonParrCB.Value = True Then .Offset(, 29).Value = 1
    If AntonParrCB.Value = False Then .Offset(, 29).Value = ""

'Filter Index OptionButtons Logic statement

    If Option1.Value = True Then .Offset(, 30).Value = 1
    If Option2.Value = True Then .Offset(, 31).Value = 1

.Offset(, 32) = FilterIndexKitTextBox.Value

    'Malvern Dv90 CheckBox Logic statement

    If MalvernDv90CB.Value = True Then .Offset(, 33).Value = 1
    If MalvernDv90CB.Value = False Then .Offset(, 33).Value = ""

    'Malvern Dn90 CheckBox Logic statement

    If MalvernDv90CB.Value = True Then .Offset(, 34).Value = 1
    If MalvernDv90CB.Value = False Then .Offset(, 34).Value = ""

    'Solvent Malvern CheckBox Logic statement

    If SolvMalvCB.Value = True Then .Offset(, 35).Value = 1
    If SolvMalvCB.Value = False Then .Offset(, 35).Value = ""

    'Microscope CheckBox Logic statement

    If MicroscopeCB.Value = True Then .Offset(, 36).Value = 1
    If MicroscopeCB.Value = False Then .Offset(, 36).Value = ""

    'Accusizer CheckBox Logic statement

    If AccusizerCB.Value = True Then .Offset(, 37).Value = 1
    If AccusizerCB.Value = False Then .Offset(, 37).Value = ""

    'Lumisizer CheckBox Logic statement

    If LumisizerCB.Value = True Then .Offset(, 38).Value = 1
    If LumisizerCB.Value = False Then .Offset(, 38).Value = ""

    'Surface Tension CheckBox Logic statement

    If SurfaceTCB.Value = True Then .Offset(, 39).Value = 1
    If SurfaceTCB.Value = False Then .Offset(, 39).Value = ""

    'Phase Angle CheckBox Logic statement

    If PhaseACB.Value = True Then .Offset(, 40).Value = 1
    If PhaseACB.Value = False Then .Offset(, 40).Value = ""

    'Water Content CheckBox Logic statement

    If WaterContCB.Value = True Then .Offset(, 41).Value = 1
    If WaterContCB.Value = False Then .Offset(, 41).Value = ""

    'pH Testing CheckBox Logic statement

    If pHCB.Value = True Then .Offset(, 42).Value = 1
    If pHCB.Value = False Then .Offset(, 42).Value = ""

    'Film Properties CheckBox Logic statement

    If FilmPropsCB.Value = True Then .Offset(, 43).Value = 1
    If FilmPropsCB.Value = False Then .Offset(, 43).Value = ""

    'Karl Fischer CheckBox Logic statement

    If KarlFischerCB.Value = True Then .Offset(, 44).Value = 1
    If KarlFischerCB.Value = False Then .Offset(, 44).Value = ""

    'Panelling CheckBox Logic statement

    If PanellingCB.Value = True Then .Offset(, 45).Value = 1
    If PanellingCB.Value = False Then .Offset(, 45).Value = ""

    'Sedimentation CheckBox Logic statement

    If SedimentationCB.Value = True Then .Offset(, 46).Value = 1
    If SedimentationCB.Value = False Then .Offset(, 46).Value = ""

  '60° CheckBox logic statements

    If W1T60.Value = True Then .Offset(, 48).Value = 1
    If W1T60.Value = False Then .Offset(, 48).Value = ""

    If W2T60.Value = True Then .Offset(, 50).Value = 1
    If W2T60.Value = False Then .Offset(, 50).Value = ""

    If W3T60.Value = True Then .Offset(, 52).Value = 1
    If W3T60.Value = False Then .Offset(, 52).Value = ""

    If W4T60.Value = True Then .Offset(, 54).Value = 1
    If W4T60.Value = False Then .Offset(, 54).Value = ""

    If W5T60.Value = True Then .Offset(, 56).Value = 1
    If W5T60.Value = False Then .Offset(, 56).Value = ""

    If W6T60.Value = True Then .Offset(, 58).Value = 1
    If W6T60.Value = False Then .Offset(, 58).Value = ""

    If W7T60.Value = True Then .Offset(, 60).Value = 1
    If W7T60.Value = False Then .Offset(, 60).Value = ""

    If W8T60.Value = True Then .Offset(, 62).Value = 1
    If W8T60.Value = False Then .Offset(, 62).Value = ""

  '50° CheckBox logic statements

    If Wk1T50.Value = True Then .Offset(, 64).Value = 1
    If Wk1T50.Value = False Then .Offset(, 64).Value = ""

    If Wk2T50.Value = True Then .Offset(, 66).Value = 1
    If Wk2T50.Value = False Then .Offset(, 66).Value = ""

    If WK3T50.Value = True Then .Offset(, 68).Value = 1
    If WK3T50.Value = False Then .Offset(, 68).Value = ""

    If WK4T50.Value = True Then .Offset(, 70).Value = 1
    If WK4T50.Value = False Then .Offset(, 70).Value = ""

    If WEEK5T50.Value = True Then .Offset(, 72).Value = 1
    If WEEK5T50.Value = False Then .Offset(, 72).Value = ""

    If WK6T50.Value = True Then .Offset(, 74).Value = 1
    If WK6T50.Value = False Then .Offset(, 74).Value = ""

    If WK7T50.Value = True Then .Offset(, 76).Value = 1
    If WK7T50.Value = False Then .Offset(, 76).Value = ""

    If WK8T50.Value = True Then .Offset(, 78).Value = 1
    If WK8T50.Value = False Then .Offset(, 78).Value = ""

    If WK10T50.Value = True Then .Offset(, 80).Value = 1
    If WK10T50.Value = False Then .Offset(, 80).Value = ""

    If WK12T50.Value = True Then .Offset(, 82).Value = 1
    If WK12T50.Value = False Then .Offset(, 82).Value = ""

    If WK14T50.Value = True Then .Offset(, 84).Value = 1
    If WK14T50.Value = False Then .Offset(, 84).Value = ""

    If WK16T50.Value = True Then .Offset(, 86).Value = 1
    If WK16T50.Value = False Then .Offset(, 86).Value = ""

 '40° CheckBox logic statements

    If WK1T40.Value = True Then .Offset(, 88).Value = 1
    If WK1T40.Value = False Then .Offset(, 88).Value = ""

    If WK2T40.Value = True Then .Offset(, 90).Value = 1
    If WK2T40.Value = False Then .Offset(, 90).Value = ""

    If WK3T40.Value = True Then .Offset(, 92).Value = 1
    If WK3T40.Value = False Then .Offset(, 92).Value = ""

    If WK4T40.Value = True Then .Offset(, 94).Value = 1
    If WK4T40.Value = False Then .Offset(, 94).Value = ""

    If WK5T40.Value = True Then .Offset(, 96).Value = 1
    If WK5T40.Value = False Then .Offset(, 96).Value = ""

    If WK6T40.Value = True Then .Offset(, 98).Value = 1
    If WK6T40.Value = False Then .Offset(, 98).Value = ""

    If WK7T40.Value = True Then .Offset(, 100).Value = 1
    If WK7T40.Value = False Then .Offset(, 100).Value = ""

    If WK8T40.Value = True Then .Offset(, 102).Value = 1
    If WK8T40.Value = False Then .Offset(, 102).Value = ""

    If WK10T40.Value = True Then .Offset(, 104).Value = 1
    If WK10T40.Value = False Then .Offset(, 104).Value = ""

    If WK12T40.Value = True Then .Offset(, 106).Value = 1
    If WK12T40.Value = False Then .Offset(, 106).Value = ""

    If WK14T40.Value = True Then .Offset(, 108).Value = 1
    If WK14T40.Value = False Then .Offset(, 108).Value = ""

    If WK16T40.Value = True Then .Offset(, 110).Value = 1
    If WK16T40.Value = False Then .Offset(, 110).Value = ""

    If WK20T40.Value = True Then .Offset(, 112).Value = 1
    If WK20T40.Value = False Then .Offset(, 112).Value = ""

    If WK24T40.Value = True Then .Offset(, 114).Value = 1
    If WK24T40.Value = False Then .Offset(, 114).Value = ""

    If WK28T40.Value = True Then .Offset(, 116).Value = 1
    If WK28T40.Value = False Then .Offset(, 116).Value = ""

    If WK32T40.Value = True Then .Offset(, 118).Value = 1
    If WK32T40.Value = False Then .Offset(, 118).Value = ""


   '1 - 104wk CheckBox logic statements

    If wk1tb.Value = True Then .Offset(, 120).Value = 1
    If wk1tb.Value = False Then .Offset(, 120).Value = ""

    If wk2tb.Value = True Then .Offset(, 122).Value = 1
    If wk2tb.Value = False Then .Offset(, 122).Value = ""

    If wk3tb.Value = True Then .Offset(, 124).Value = 1
    If wk3tb.Value = False Then .Offset(, 124).Value = ""

    If wk4tb.Value = True Then .Offset(, 126).Value = 1
    If wk4tb.Value = False Then .Offset(, 126).Value = ""

    If wk5tb.Value = True Then .Offset(, 128).Value = 1
    If wk5tb.Value = False Then .Offset(, 128).Value = ""

    If wk6tb.Value = True Then .Offset(, 130).Value = 1
    If wk6tb.Value = False Then .Offset(, 130).Value = ""

    If wk7tb.Value = True Then .Offset(, 132).Value = 1
    If wk7tb.Value = False Then .Offset(, 132).Value = ""

    If wk8tb.Value = True Then .Offset(, 134).Value = 1
    If wk8tb.Value = False Then .Offset(, 134).Value = ""

    If wk9tb.Value = True Then .Offset(, 136).Value = 1
    If wk9tb.Value = False Then .Offset(, 136).Value = ""

    If wk10tb.Value = True Then .Offset(, 138).Value = 1
    If wk10tb.Value = False Then .Offset(, 138).Value = ""

    If wk11tb.Value = True Then .Offset(, 140).Value = 1
    If wk11tb.Value = False Then .Offset(, 140).Value = ""

    If wk12tb.Value = True Then .Offset(, 142).Value = 1
    If wk12tb.Value = False Then .Offset(, 142).Value = ""

    If wk13tb.Value = True Then .Offset(, 144).Value = 1
    If wk13tb.Value = False Then .Offset(, 144).Value = ""

    If wk14tb.Value = True Then .Offset(, 146).Value = 1
    If wk14tb.Value = False Then .Offset(, 146).Value = ""

    If wk15tb.Value = True Then .Offset(, 148).Value = 1
    If wk15tb.Value = False Then .Offset(, 148).Value = ""

    If wk16tb.Value = True Then .Offset(, 150).Value = 1
    If wk16tb.Value = False Then .Offset(, 150).Value = ""

    If wk17tb.Value = True Then .Offset(, 152).Value = 1
    If wk17tb.Value = False Then .Offset(, 152).Value = ""

    If wk18tb.Value = True Then .Offset(, 154).Value = 1
    If wk18tb.Value = False Then .Offset(, 154).Value = ""

    If wk19tb.Value = True Then .Offset(, 156).Value = 1
    If wk19tb.Value = False Then .Offset(, 156).Value = ""

    If wk20tb.Value = True Then .Offset(, 158).Value = 1
    If wk20tb.Value = False Then .Offset(, 158).Value = ""

    If wk21tb.Value = True Then .Offset(, 160).Value = 1
    If wk21tb.Value = False Then .Offset(, 160).Value = ""

    If wk22tb.Value = True Then .Offset(, 162).Value = 1
    If wk22tb.Value = False Then .Offset(, 162).Value = ""

    If wk23tb.Value = True Then .Offset(, 164).Value = 1
    If wk23tb.Value = False Then .Offset(, 164).Value = ""

    If wk24tb.Value = True Then .Offset(, 166).Value = 1
    If wk24tb.Value = False Then .Offset(, 166).Value = ""

    If wk25tb.Value = True Then .Offset(, 168).Value = 1
    If wk25tb.Value = False Then .Offset(, 168).Value = ""

    If wk26tb.Value = True Then .Offset(, 170).Value = 1
    If wk26tb.Value = False Then .Offset(, 170).Value = ""

    If wk27tb.Value = True Then .Offset(, 172).Value = 1
    If wk27tb.Value = False Then .Offset(, 172).Value = ""

    If wk28tb.Value = True Then .Offset(, 174).Value = 1
    If wk28tb.Value = False Then .Offset(, 174).Value = ""

    If wk29tb.Value = True Then .Offset(, 176).Value = 1
    If wk29tb.Value = False Then .Offset(, 176).Value = ""

    If wk30tb.Value = True Then .Offset(, 178).Value = 1
    If wk30tb.Value = False Then .Offset(, 178).Value = ""

    If wk31tb.Value = True Then .Offset(, 180).Value = 1
    If wk31tb.Value = False Then .Offset(, 180).Value = ""

    If wk32tb.Value = True Then .Offset(, 182).Value = 1
    If wk32tb.Value = False Then .Offset(, 182).Value = ""

    If wk33tb.Value = True Then .Offset(, 184).Value = 1
    If wk33tb.Value = False Then .Offset(, 184).Value = ""

    If wk34tb.Value = True Then .Offset(, 186).Value = 1
    If wk34tb.Value = False Then .Offset(, 186).Value = ""

    If wk35tb.Value = True Then .Offset(, 188).Value = 1
    If wk35tb.Value = False Then .Offset(, 188).Value = ""

    If wk36tb.Value = True Then .Offset(, 190).Value = 1
    If wk36tb.Value = False Then .Offset(, 190).Value = ""

    If wk37tb.Value = True Then .Offset(, 192).Value = 1
    If wk37tb.Value = False Then .Offset(, 192).Value = ""

    If wk38tb.Value = True Then .Offset(, 194).Value = 1
    If wk38tb.Value = False Then .Offset(, 194).Value = ""

    If wk39tb.Value = True Then .Offset(, 196).Value = 1
    If wk39tb.Value = False Then .Offset(, 196).Value = ""

    If wk40tb.Value = True Then .Offset(, 198).Value = 1
    If wk40tb.Value = False Then .Offset(, 198).Value = ""

    If wk41tb.Value = True Then .Offset(, 200).Value = 1
    If wk41tb.Value = False Then .Offset(, 200).Value = ""

    If wk42tb.Value = True Then .Offset(, 202).Value = 1
    If wk42tb.Value = False Then .Offset(, 202).Value = ""

    If wk43tb.Value = True Then .Offset(, 204).Value = 1
    If wk43tb.Value = False Then .Offset(, 204).Value = ""

    If wk44tb.Value = True Then .Offset(, 206).Value = 1
    If wk44tb.Value = False Then .Offset(, 206).Value = ""

    If wk45tb.Value = True Then .Offset(, 208).Value = 1
    If wk45tb.Value = False Then .Offset(, 208).Value = ""

    If wk46tb.Value = True Then .Offset(, 210).Value = 1
    If wk46tb.Value = False Then .Offset(, 210).Value = ""

    If wk47tb.Value = True Then .Offset(, 212).Value = 1
    If wk47tb.Value = False Then .Offset(, 212).Value = ""

    If wk48tb.Value = True Then .Offset(, 214).Value = 1
    If wk48tb.Value = False Then .Offset(, 214).Value = ""

    If wk49tb.Value = True Then .Offset(, 216).Value = 1
    If wk49tb.Value = False Then .Offset(, 216).Value = ""

    If wk50tb.Value = True Then .Offset(, 218).Value = 1
    If wk50tb.Value = False Then .Offset(, 218).Value = ""

    If wk51tb.Value = True Then .Offset(, 220).Value = 1
    If wk51tb.Value = False Then .Offset(, 220).Value = ""

    If wk52tb.Value = True Then .Offset(, 222).Value = 1
    If wk52tb.Value = False Then .Offset(, 222).Value = ""


    '-15° CheckBox logic statements

    If WK1T15.Value = True Then .Offset(, 328).Value = 1
    If WK1T15.Value = False Then .Offset(, 328).Value = ""

    If WK2T15.Value = True Then .Offset(, 330).Value = 1
    If WK2T15.Value = False Then .Offset(, 330).Value = ""

    If WK3T15.Value = True Then .Offset(, 332).Value = 1
    If WK3T15.Value = False Then .Offset(, 332).Value = ""

    If WK4T15.Value = True Then .Offset(, 334).Value = 1
    If WK4T15.Value = False Then .Offset(, 334).Value = ""

    If WK5T15.Value = True Then .Offset(, 336).Value = 1
    If WK5T15.Value = False Then .Offset(, 336).Value = ""

    If WK6T15.Value = True Then .Offset(, 338).Value = 1
    If WK6T15.Value = False Then .Offset(, 338).Value = ""

    If WK7T15.Value = True Then .Offset(, 340).Value = 1
    If WK7T15.Value = False Then .Offset(, 340).Value = ""

    If WK8T15.Value = True Then .Offset(, 342).Value = 1
    If WK8T15.Value = False Then .Offset(, 342).Value = ""

 '-15° CheckBox logic statements

    If WK1TFRIDGE.Value = True Then .Offset(, 344).Value = 1
    If WK1TFRIDGE.Value = False Then .Offset(, 344).Value = ""

    If WK2TFRIDGE.Value = True Then .Offset(, 346).Value = 1
    If WK2TFRIDGE.Value = False Then .Offset(, 346).Value = ""

    If WK3TFRIDGE.Value = True Then .Offset(, 348).Value = 1
    If WK3TFRIDGE.Value = False Then .Offset(, 348).Value = ""

    If WK4TFRIDGE.Value = True Then .Offset(, 350).Value = 1
    If WK4TFRIDGE.Value = False Then .Offset(, 350).Value = ""

    If WK5TFRIDGE.Value = True Then .Offset(, 352).Value = 1
    If WK5TFRIDGE.Value = False Then .Offset(, 352).Value = ""

    If WK6TFRIDGE.Value = True Then .Offset(, 354).Value = 1
    If WK6TFRIDGE.Value = False Then .Offset(, 354).Value = ""

    If WK7TFRIDGE.Value = True Then .Offset(, 356).Value = 1
    If WK7TFRIDGE.Value = False Then .Offset(, 356).Value = ""

    If WK8TFRIDGE.Value = True Then .Offset(, 358).Value = 1
    If WK8TFRIDGE.Value = False Then .Offset(, 358).Value = ""


End With


End Sub


Private Sub Gate60Tb_Click()

'60° Gate TickBox Control

Me.W1T60.Value = Me.Gate60Tb.Value

Me.W2T60.Value = Me.Gate60Tb.Value

Me.W3T60.Value = Me.Gate60Tb.Value

Me.W4T60.Value = Me.Gate60Tb.Value

End Sub
Private Sub Gate50Tb_Click()

    '50° Gate TickBox Control

    If Gate50Tb.Value = True Then Wk2T50.Value = 1
    If Gate50Tb.Value = False Then Wk2T50.Value = 0

    If Gate50Tb.Value = True Then WK4T50.Value = 1
    If Gate50Tb.Value = False Then WK4T50.Value = 0

    If Gate50Tb.Value = True Then WK6T50.Value = 1
    If Gate50Tb.Value = False Then WK6T50.Value = 0

    If Gate50Tb.Value = True Then WK8T50.Value = 1
    If Gate50Tb.Value = False Then WK8T50.Value = 0


End Sub

Private Sub Gate40Tb_Click()

    ' Gate 40° Tickbox Control

    If Gate40Tb.Value = True Then WK4T40.Value = 1
    If Gate40Tb.Value = False Then WK4T40.Value = 0

    If Gate40Tb.Value = True Then WK8T40.Value = 1
    If Gate40Tb.Value = False Then WK8T40.Value = 0

    If Gate40Tb.Value = True Then WK12T40.Value = 1
    If Gate40Tb.Value = False Then WK12T40.Value = 0

    If Gate40Tb.Value = True Then WK16T40.Value = 1
    If Gate40Tb.Value = False Then WK16T40.Value = 0

End Sub

Private Sub GateRT48wk_Click()


    If GateRT48wk.Value = True Then wk6tb.Value = 1
    If GateRT48wk.Value = False Then wk6tb.Value = 0

    If GateRT48wk.Value = True Then wk12tb.Value = 1
    If GateRT48wk.Value = False Then wk12tb.Value = 0

    If GateRT48wk.Value = True Then wk18tb.Value = 1
    If GateRT48wk.Value = False Then wk18tb.Value = 0

    If GateRT48wk.Value = True Then wk24tb.Value = 1
    If GateRT48wk.Value = False Then wk24tb.Value = 0

    If GateRT48wk.Value = True Then wk30tb.Value = 1
    If GateRT48wk.Value = False Then wk30tb.Value = 0

    If GateRT48wk.Value = True Then wk36tb.Value = 1
    If GateRT48wk.Value = False Then wk36tb.Value = 0

    If GateRT48wk.Value = True Then wk42tb.Value = 1
    If GateRT48wk.Value = False Then wk42tb.Value = 0

    If GateRT48wk.Value = True Then wk48tb.Value = 1
    If GateRT48wk.Value = False Then wk48tb.Value = 0

End Sub

Private Sub GateRT52wk_Click()

    ' Gate RT Tickbox Control

    If GateRT52wk.Value = True Then wk4tb.Value = 1
    If GateRT52wk.Value = False Then wk4tb.Value = 0

    If GateRT52wk.Value = True Then wk8tb.Value = 1
    If GateRT52wk.Value = False Then wk8tb.Value = 0

    If GateRT52wk.Value = True Then wk12tb.Value = 1
    If GateRT52wk.Value = False Then wk12tb.Value = 0

    If GateRT52wk.Value = True Then wk16tb.Value = 1
    If GateRT52wk.Value = False Then wk16tb.Value = 0

    If GateRT52wk.Value = True Then wk20tb.Value = 1
    If GateRT52wk.Value = False Then wk20tb.Value = 0

    If GateRT52wk.Value = True Then wk24tb.Value = 1
    If GateRT52wk.Value = False Then wk24tb.Value = 0

    If GateRT52wk.Value = True Then wk28tb.Value = 1
    If GateRT52wk.Value = False Then wk28tb.Value = 0

    If GateRT52wk.Value = True Then wk32tb.Value = 1
    If GateRT52wk.Value = False Then wk32tb.Value = 0

    If GateRT52wk.Value = True Then wk36tb.Value = 1
    If GateRT52wk.Value = False Then wk36tb.Value = 0

    If GateRT52wk.Value = True Then wk40tb.Value = 1
    If GateRT52wk.Value = False Then wk40tb.Value = 0

    If GateRT52wk.Value = True Then wk44tb.Value = 1
    If GateRT52wk.Value = False Then wk44tb.Value = 0

    If GateRT52wk.Value = True Then wk48tb.Value = 1
    If GateRT52wk.Value = False Then wk48tb.Value = 0

    If GateRT52wk.Value = True Then wk52tb.Value = 1
    If GateRT52wk.Value = False Then wk52tb.Value = 0

End Sub


Private Sub GateRTQ1_Click()

    ' Gate RT Year 1 Qtly Tickbox Control

    If GateRTQ1.Value = True Then wk13tb.Value = 1
    If GateRTQ1.Value = False Then wk13tb.Value = 0

    If GateRTQ1.Value = True Then wk26tb.Value = 1
    If GateRTQ1.Value = False Then wk26tb.Value = 0

    If GateRTQ1.Value = True Then wk39tb.Value = 1
    If GateRTQ1.Value = False Then wk39tb.Value = 0

    If GateRTQ1.Value = True Then wk52tb.Value = 1
    If GateRTQ1.Value = False Then wk52tb.Value = 0

End Sub

Private Sub GateRTQ2_Click()

    ' Gate RT Year 2 Qtly Tickbox Control

    If GateRTQ2.Value = True Then wk65tb.Value = 1
    If GateRTQ2.Value = False Then wk65tb.Value = 0

    If GateRTQ2.Value = True Then wk78tb.Value = 1
    If GateRTQ2.Value = False Then wk78tb.Value = 0

    If GateRTQ2.Value = True Then wk91tb.Value = 1
    If GateRTQ2.Value = False Then wk91tb.Value = 0

    If GateRTQ2.Value = True Then wk104tb.Value = 1
    If GateRTQ2.Value = False Then wk104tb.Value = 0

End Sub


Private Sub Gate158wk_Click()

    '-15° 8@8 Gate TickBox Control

    If Gate158wk.Value = True Then WK8T15.Value = 1
    If Gate158wk.Value = False Then WK8T15.Value = 0

End Sub

Private Sub Gate151wk_Click()

    '-15° 8@1 Gate TickBox Control

    If Gate151wk.Value = True Then WK1T15.Value = 1
    If Gate151wk.Value = False Then WK1T15.Value = 0

    If Gate151wk.Value = True Then WK2T15.Value = 1
    If Gate151wk.Value = False Then WK2T15.Value = 0

    If Gate151wk.Value = True Then WK3T15.Value = 1
    If Gate151wk.Value = False Then WK3T15.Value = 0

    If Gate151wk.Value = True Then WK4T15.Value = 1
    If Gate151wk.Value = False Then WK4T15.Value = 0

    If Gate151wk.Value = True Then WK5T15.Value = 1
    If Gate151wk.Value = False Then WK5T15.Value = 0

    If Gate151wk.Value = True Then WK6T15.Value = 1
    If Gate151wk.Value = False Then WK6T15.Value = 0

    If Gate151wk.Value = True Then WK7T15.Value = 1
    If Gate151wk.Value = False Then WK7T15.Value = 0

    If Gate151wk.Value = True Then WK8T15.Value = 1
    If Gate151wk.Value = False Then WK8T15.Value = 0


End Sub
Private Sub GateFridge8wk_Click()

    'Fridge 8@8 Gate TickBox Control

    If GateFridge8wk.Value = True Then WK8TFRIDGE.Value = 1
    If GateFridge8wk.Value = False Then WK8TFRIDGE.Value = 0

End Sub

Private Sub GateFridge1wk_Click()

    '-15° 8@1 Gate TickBox Control

    If GateFridge1wk.Value = True Then WK1TFRIDGE.Value = 1
    If GateFridge1wk.Value = False Then WK1TFRIDGE.Value = 0

    If GateFridge1wk.Value = True Then WK2TFRIDGE.Value = 1
    If GateFridge1wk.Value = False Then WK2TFRIDGE.Value = 0

    If GateFridge1wk.Value = True Then WK3TFRIDGE.Value = 1
    If GateFridge1wk.Value = False Then WK3TFRIDGE.Value = 0

    If GateFridge1wk.Value = True Then WK4TFRIDGE.Value = 1
    If GateFridge1wk.Value = False Then WK4TFRIDGE.Value = 0

    If GateFridge1wk.Value = True Then WK5TFRIDGE.Value = 1
    If GateFridge1wk.Value = False Then WK5TFRIDGE.Value = 0

    If GateFridge1wk.Value = True Then WK6TFRIDGE.Value = 1
    If GateFridge1wk.Value = False Then WK6TFRIDGE.Value = 0

    If GateFridge1wk.Value = True Then WK7TFRIDGE.Value = 1
    If GateFridge1wk.Value = False Then WK7TFRIDGE.Value = 0

    If GateFridge1wk.Value = True Then WK8TFRIDGE.Value = 1
    If GateFridge1wk.Value = False Then WK8TFRIDGE.Value = 0


End Sub

Upvotes: 0

Views: 278

Answers (1)

HarveyFrench
HarveyFrench

Reputation: 4568

I have found people elsewhere that have experience of forms with many controls and they say that once you get above about 200 controls, you may start noticing some strange/intermittent occurrences/errors.

See here

I would reduce the number of controls on your form.

Also you might simplify the code:

Private Sub Gate60Tb_Click()

    '60° Gate TickBox Control

    Me.W1T60.Value = Me.Gate60Tb.Value

    Me.W2T60.Value = Me.Gate60Tb.Value

    Me.W3T60.Value = Me.Gate60Tb.Value

    Me.W4T60.Value = Me.Gate60Tb.Value

End Sub

Note that addin "Me" fully qualifies the control. I wonder if you are inadvertantly picking up another in scope object with the name that has teh same name as a control that you THINK is on your form.

Other possibles:

Private Sub Gate60Tb_Click()

    '60° Gate TickBox Control

    with Me.Gate60Tb

    Me.W1T60.Value = .Value

    Me.W2T60.Value = .Value

    Me.W3T60.Value = .Value

    Me.W4T60.Value = .Value

    end with

End Sub


Private Sub Gate60Tb_Click()

    '60° Gate TickBox Control

    Dim bln as boolean 

    bln =  Me.Gate60Tb

    Me.W1T60.Value = bln 

    Me.W2T60.Value = bln 

    Me.W3T60.Value = bln 

    Me.W4T60.Value = bln 


End Sub

Upvotes: 1

Related Questions