사용자 폼을 이미 모듈이 들어있는 프로젝트에 삽입했습니다. 사용자 폼의 코드를 사용하여 콤보 상자에서 값을 반환 할 수 있는지 확인했습니다.사용자 양식이 모듈에 값을 전달할 수 없습니다.
사용자 양식 코드 :
Public SelectedPacking As Integer
Private Sub CancelButton_Click()
UserForm1.Hide
End Sub
Private Sub OKButton_Click()
SelectedPacking = ComboBox1.ListIndex
Call DemoDialogOk
'Return list index value to cell C50
Worksheets("Inputs & Results").Range("C50") = SelectedPacking
Unload UserForm1
End Sub
내 문제는 내가 모듈에 기록 된 매크로의에에이 값을 전달할 수 없다는 것입니다.
모듈 코드 :
Public Sub ShowComboBox()
UserForm1.Show
End Sub
Public Sub DemoDialogOk()
ival = SelectedPacking
'Return value of ival (list index value from combo box) to cell C17
Worksheets("Packed bed (Random)").Range("C17") = ival
End Sub
은 분명히 모듈은보다 유용한 코드가 포함되어 있습니다, 그러나 나는 시도하고 내가 잘못거야 어디 알아 내기 위해 모든 것을 주석 처리했습니다. 주변을 둘러 보니 몇 가지 변화가 있었지만 C17 셀에는 아무 것도 표시 할 수 없기 때문에 뭔가 근본적인 것이 빠져 있다고 생각합니다.
'DemoDialogOK'에'SelectedPacking'을 매개 변수로 전달해야합니다. 양식을 언로드하면 변수가 보유한 모든 변수가 지워집니다. –
예! 그렇게 간단하지만 완전하게 맞습니다. 감사! – Natalie
폼을 언로드하지 않고 숨기면 폼을 DemoDialogOK에 전달할 필요가 없다는 뜻입니까? – Natalie