Here is my solution. You can make coding easier if you set the Tag property values during design and not at userform initialize as I did. I would pick the 12" size as True for the default so that you don't have to check for one option as True as I did.
Private Sub UserForm_Initialize()
Dim c As Control
On Error Resume Next
For Each c In Controls
c.Value = False
Select Case TypeName(c)
Case "OptionButton"
c.Tag = 8
Case "CheckBox"
c.Tag = 1.5
Case Else
End Select
Next c
optFifteen.Tag = 9
optEighteen.Tag = 10
End Sub
Private Sub cmdOrder_Click()
Dim c As Control, d As Double
If optTwelve = False And optFifteen = False And optEighteen = False Then
MsgBox "You must pick a size."
Exit Sub
End If
On Error Resume Next
For Each c In Controls
If c.Value = True Then d = d + c.Tag
Next c
MsgBox "Total Cost is: " & Format(d, "Currency")
ClearControls
With Range("B7")
.Value = d
.NumberFormat = "Currency"
End With
End Sub
Public Sub ClearControls()
' clear all controls
Dim c As Control
On Error Resume Next
For Each c In Controls
c.Value = False
Next c
End Sub