2014-09-20 2 views
0

Excel 2010에서 VBA로 작업합니다. VBA 및 userforms로 작업 한 것은 이번이 처음입니다. 지금 나는 barebones userform "UserForm1"이 이슈를 정렬하려고합니다. GroupName "WK"에 속하는 두 개의 라디오 버튼 "OptionButton1"및 "OptionButton2"와 두 개의 텍스트 상자 "TextBox1"및 "TextBox2"로 구성됩니다.미리 값을 사용하여 사용자 폼을 초기화 하시겠습니까?

userform을 실행할 때 "OptionButton1"이 선택되고 후속 if/then 문이 실행되기를 원합니다. 그러나 지금 당장은 그렇게 할 수 없습니다. 내 코드 :

Public Sub UserForm1_Initialize() 
UserForm1.Show 
Me.OptionButton1.Value = False 
Me.OptionButton1.Value = True 
MsgBox ("dia locked") 
Me.TextBox1.Value = "blah" 
End Sub 

Public Sub UserForm1_Activate() 

End Sub 

Public Sub OptionButton1_Click() 

If Me.OptionButton1.Value = True Then 
MsgBox ("dia locked") 
Me.TextBox1.Value = "blah" 
End If 

End Sub 

Private Sub TextBox1_Change() 

End Sub 

양식을 실행하면 아무 일도 일어나지 않으며 "OptionButton1"은 false입니다. 그것을 클릭하면 메시지 상자가 표시되고 텍스트 상자에 텍스트가 표시됩니다. 시동시에는 작동하지 않습니다. optionbutton 속성으로 들어가서 'value'를 true로 설정하여 시동시 사실로 만들려고했지만 메시지 상자는 여전히 표시되지 않고 텍스트 상자는 비어 있습니다.을 클릭하기 전까지.

... 도와주세요. 고맙습니다.

+0

클래스의 'Me.OptionButton1.Value = True' 행 다음에 클릭하면'OptionButton1_Click '과 같은 클릭 부름에 넣기 만하면됩니다. 그게 전부 야;) –

+0

고마워요! 그것은 훌륭하게 작동합니다. 나는이 언어가 다른 언어보다 더 많은 명령을 내릴 수 있다고 맹세한다. –

답변

1

알아 냈습니다.

갑자기 드롭 다운이 발견되었습니다. 분명히 UserForm_Initialize() 대신 UserForm1_Initialize()를 넣어야하고 OptionButton1_Click() 대신 OptionButton1_Change()에 코드를 넣으면 후속 초기화 시퀀스가 ​​실행됩니다.

너희들/할아버지는 awesomesauce입니다. 나는 당신의 실을 읽는 것으로부터 모든 것을 배웠다. 고맙습니다!

+0

http://msdn.microsoft.com/en-us/library/office/jj692790%28v=office.15%29.aspx에는 도움이되는 주제/언어 참조가 많이 있습니다. –

관련 문제