У меня проблемы с получением значения K
(целое число) от моего Private Sub
в UserForm1
до моего Sub
в Module1
.Я использую UserForm1
, чтобы объявить, на каком листе я хочу запустить код (выбрав из выпадающего списка, а затем объявить это как значение / целое число от 2 до 9), поэтому мне нужно только передать значениеK
Я нахожу в UserForm1
Private Sub
значение Sub
в моем Module1
.
Я надеюсь, что это понятно, то есть я хочу иметь возможность прочитать значение K
находится в UserForm1
, в моем Module1
скрипте.
Мой текущий код выглядит следующим образом, начиная с Module
part:
Sub HenteMengderFraAutoCAD()
Dim K As Integer
Load UserForm1
UserForm1.Show
MsgBox (K)
Unload UserForm1
End Sub
Далее мой код вUserForm
, где я нахожу значение для использования в коде:
Private Sub UserForm_Activate()
ComboBox1.Clear
With ComboBox1
.AddItem "M350 og XT"
.AddItem "STB 300+450"
.AddItem "Alufix"
.AddItem "MevaDec og MevaFlex"
.AddItem "Alshor Plus"
.AddItem "Rapidshor"
.AddItem "KLK og Sjaktdragere"
End With
End Sub
Private Sub CommandButton1_Click()
If ComboBox1 = "M350 og XT" Then
K = 2
ElseIf ComboBox1 = "STB 300+450" Then
K = 3
ElseIf ComboBox1 = "Alufix" Then
K = 4
ElseIf ComboBox1 = "MevaDec og MevaFlex" Then
K = 5
ElseIf ComboBox1 = "Alshor Plus" Then
K = 6
ElseIf ComboBox1 = "Rapidshor" Then
K = 7
ElseIf ComboBox1 = "KLK og Sjaktdragere" Then
K = 9
End If
MsgBox (K)
UserForm1.Hide
End Sub
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
Фактическим результатом будет то, что MsgBox(K)
в сценарии Module1
будет показывать то же число, что MsgBox(K)
показывает мне вUserForm1
,Теперь я получаю правильное значение для K
(от 2 до 9 в зависимости от того, что я выбираю в раскрывающемся списке) в MsgBox in the UserForm1
, но в Module1 MsgBox
я получаю только 0
.
Inзаранее, спасибо.