Трудно быть уверенным, но, основываясь на ваших комментариях, вы можете попробовать это:
Private Sub OptionButton10_Click()
Dim D3 As Variant
Dim E3 As Variant
D3 = Sheets("Systems").Range("D3").Value
E3 = Sheets("Systems").Range("E3").Value
If (OptionButton10 And Not (OptionButton2)) And (ComboBox2 = "Standard" Or ComboBox2 = "Scale-In") Then
TextBox6.Value = D3 'this works'
ElseIf OptionButton10 = True And OptionButton2 = True Then
TextBox6.Value = E3 'this doesn't work'
End If
TextBox6.text = Format(TextBox6.Value, "Percent")
End Sub
или, альтернативно, это:
Private Sub OptionButton10_Click()
Dim D3 As Variant
Dim E3 As Variant
D3 = Sheets("Systems").Range("D3").Value
E3 = Sheets("Systems").Range("E3").Value
If OptionButton10 And OptionButton2 Then
TextBox6.Value = E3 'this doesn't work'
ElseIf OptionButton10 = True And (ComboBox2 = "Standard" Or ComboBox2 = "Scale-In") Then
TextBox6.Value = D3 'this works'
End If
TextBox6.text = Format(TextBox6.Value, "Percent")
End Sub
Кроме того, я бы настоятельно рекомендовал бы дать вашим кнопкам и полям (включая текстовые поля) лучшие имена. В будущем вы по достоинству оцените его, когда сможете посмотреть свой код и прочитать:
If (ProcessFoo and Not(ProcessBar)) and (Baz = "Standard" or Baz = "Scale-In")
* с соответствующими именами для ваших опций и списком, если вы назовете их Foo
и Bar
и Baz
, в будущем вы, возможно, будете еще более запутаны, чем если вы оставите их с именами по умолчанию. ..
Это будет гораздо быстрее понять, чем возвращаться к форме, чтобы увидеть, что означают текстовые метки для OptionButton10
и OptionButton2
...