Вместо того, чтобы копировать код в каждую форму, поместите его в модуль
Sub UpdateSheet(ByRef frm As UserForm, ByRef rng As Range)
Dim i As Integer, chk As Object
For i = 1 To 4
Set chk = frm.Controls.Item("CheckBox" & i)
rng.Value = chk.Value
rng.Font.Bold = True
If chk.Value = True Then
rng.Interior.ColorIndex = 10
Else
rng.Interior.ColorIndex = 3
End If
Set rng = rng.Offset(0, 1)
Next
End Sub
, а затем поместите этот код в каждую форму, изменив «D54» и Userform2, чтобы соответствовать каждому вопросу
Private Sub CommandButton1_Click()
' form Question 1
Dim rng As Range
Set rng = ThisWorkbook.Sheets("Results").Range("D54")
Module1.UpdateSheet Me, rng
Me.Hide
UserForm2.Show
End Sub