EDIT: Чтобы уточнить, приведенный ниже код находится внутри модуля, а UserForm содержится в его собственном коде.Excel VBA: ошибка компиляции: не найден метод или элемент данных
У меня есть следующий код. Когда я запускаю его, Excel бросает мне ошибку компиляции: Method or data member not found
и выделяет следующий фрагмент кода: .showInputsDialog
. Я не знаю, как решить эту ошибку.
Чтобы предоставить дополнительную информацию, подканал sportUserForm
должен вызвать пользовательскую форму sportsUsrFrm
. Любая помощь в этом вопросе очень ценится.
Option Explicit
Sub sportUserForm()
Dim sSport As String, sPreference As String
If sportsUsrFrm.showInputsDialog(sSport, sPreference) Then
MsgBox "Your favorite sport is " & sSport & ", and you usually " _
& sPreference & "."
Else
MsgBox "Sorry you don't want to play."
End If
End Sub
Public Function showInputsDialog(sSports As String, sPreference As String) As Boolean
Call Initialize
Me.Show
If Not cancel Then
If optBaseball.Value Then sSport = "Baseball"
ElseIf optBasketball.Value Then sSport = "Basketball"
Elss sSport = "Football"
End If
If optTV.Value Then sPreference = "watch on TV" _
Else: sPreference = "go to games"
End If
showInputsDialog = Not cancel
Unload Me
End Function
UserForm код sportUsrFrm
Option Explicit
Private Sub cmdCnl_Click()
Me.Hide
cancel = True
End Sub
Private Sub cmdOK_Click()
If Valid Then Me.Hide
cancel = False
End Sub
Какой код в каком модуле? Все в пользовательской форме? Я бы предложил взглянуть на [этот пример] (http://stackoverflow.com/documentation/vba/5351/user-forms/19036/best-practices#t=201610252259347492268) в документации для лучшего подхода к обработке формы , – Comintern
@Comintern Я отредактировал OP, чтобы отразить ваши вопросы. –
Можете вы добавить код для 'sportsUsrFrm_Initialize'? – Comintern