既に多数のモジュールを含むプロジェクトにユーザー フォームを挿入しました。ユーザー フォームのコードをいじって、コンボ ボックスから値を返せることを確認しました。
ユーザーフォームコード:
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 にはまだ何も表示されないので、根本的な何かが欠けていると思います。