私の現在のコードは、lengthListboxまたはlengthListbox2のいずれかが選択されているかどうかをチェックしています。そうしないと、エラーメッセージが表示されます。 lengthListboxまたはlengthListbox2のいずれかから選択するか、「プロジェクトの長さを入力してください」というメッセージが表示されるようにする最も簡単な方法は何ですか?2つの可能性をチェックするエラー
Function CheckInputs() As Boolean
If Not CheckControl(Me.nameTextbox, "Please enter your name") Then Exit Function
If Not CheckControl(Me.projectTextbox, "Please enter a Project Name") Then Exit Function
If Not CheckControl(Me.audienceCombobox, "Please select an Audience") Then Exit Function
If Not CheckControl(Me.impactCombobox, "Please select Impact Type") Then Exit Function
If Not CheckControl(Me.lengthListbox, "Please select a current year month") Then Exit Function
If Not CheckControl(Me.lengthListbox2, "Please select a next year month") Then Exit Function
CheckInputs = True
End Function
Private Function CountSelectedListBoxItems(lb As MSForms.ListBox) As Long
Dim i As Long
With lb
For i = 0 To .ListCount - 1
If .Selected(i) Then CountSelectedListBoxItems = CountSelectedListBoxItems + 1
Next i
End With
End Function
Function CheckControl(ctrl As MSForms.Control, errMsg As String) As Boolean
Select Case TypeName(ctrl)
Case "TextBox"
CheckControl = Trim(ctrl.Value) <> ""
Case "ComboBox"
CheckControl = ctrl.ListIndex <> -1
Case "ListBox"
CheckControl = CountSelectedListBoxItems(ctrl) > 0
' Case Else
End Select
If CheckControl Then Exit Function
ctrl.SetFocus
MsgBox errMsg
End Function
私が試したいくつかの点:エンターボタン
Private Sub enterButton_Click()
If Me.lengthListbox.ListIndex = -1 And Me.lengthListbox2.ListIndex = -1 Then
MsgBox "Please enter Project Length"
End If
If Not CheckInputs Then Exit Sub 'check for fields to have values
Process GetWs(Me.impactCombobox.Value) ' process data passing the proper worksheet got from GetWs() function
MsgBox "Project Entered Successfully"
ClearUFData 'clear the data
End Sub
でエラーチェックを入力しようとすると
は、私はまた、リストボックスをチェックするために意味される個別のサブ関数を作ってみましたCheckInputs内で動作させることはできませんでした。
あなたの投稿はORであるべきですか? –
私はORとANDを試してみましたが、どちらもプロジェクトが正常に進行するようにしました。 – adrenom
私はちょうど 'If Me.ListBox1.ListIndex = -1またはMe.ListBox2.ListIndex = -1 Thenしようとしました MsgBox" Error " End If'それは動作します –