2016-04-24 11 views
0

私はワークシートにデータを入力するために使用する複数のコンボボックスとテキストボックスを持つuserformを持っています。私が探していたのは、ワークシートにデータを保存する前にこれらのボックスをすべてチェックするコードです。空であればメッセージをポップアップし、データは保存しません。複数のテキストボックス/コンボボックスを入力用にチェックする

私はそれぞれを個別にチェックする機能を使用していますが、他の機能が空白の場合はデータをシートに保存します。

Public Function CheckEmpty(text_box As Object) As Boolean 
CheckEmpty = (Len(Trim(text_box.Value)) > 0) 
End Function 

答えて

0

チェックボックスコントロールオブジェクトの配列を作成し、各オブジェクトを順にチェックしながら繰り返します。あなたのようなものを試してみたいことがあり

+0

これは私が一緒に入れものの一種であり、それは私は、それが空でない私に言って続けてを次の(1)= TextBox1 Set Test(1)= TextBox1 Set Test(2)= TextBox2 Set Test(3)= TextBox3 Set Test(4)= ComboBox1 Set Test(5)= ComboBox2 Set Test(6)= ComboBox3 のisEmpty(テスト)次に MsgBoxには、「その空」エルス MsgBoxに驚異を働いていた「そのこと」 エンド – Higgs

1

ユーザーフォームのコードウィンドウに配置する
Private Sub CommandButton1_Click() '<== change "CommandButton1" with the actual 'closing' button name 
Dim ctrl As Control 
Dim msg As String 

With Me 
    For Each ctrl In .Controls 

     Select Case TypeName(ctrl) 

      Case "ComboBox" 
       If ctrl.ListIndex = -1 Then msg = msg & vbCrLf & "ComboBox '" & ctrl.name & "' with no value selected" 
      Case "TextBox" 
       If ctrl.text = "" Then msg = msg & vbCrLf & "TextBox '" & ctrl.name & "' with no value selected" 
      Case Else 

     End Select 

    Next ctrl 

    If msg = "" Then 
     .Hide ' hide the userform only if no empty textboxes and/or comboboxes 
    Else 
     MsgBox msg, vbExclamation + vbInformation 
    End If 
End With 

End Sub 

+0

もしあれば!お手伝いありがとう。 – Higgs

+0

助けになるのはうれしいです。私があなたの質問を満たしていれば、私の答えを受け入れたものとしてマークしてください。ありがとうございました – user3598756

関連する問題