|
▼Hirofumi さん:
>▼亜矢 さん:
>>よろしくお願いします
>>TextBoxがUserformに42個あります。
>>そこでTextBoxのイベントを1ヶずつ書いていますが、まとめて
>>書く方法について教えて頂きたいと思います。
>>PriVate Sub TextBox1_Exit(ByVal・・・・)
>>
>>end sub
>>
>>PriVate Sub TextBox2_Exit(ByVal・・・・)
>>
>>end sub
>>と42ヶ書いていますが、これを1つにまとめる方法です。
>>この他のイベントにMouseDownとかDblclickも42ヶ書いています。
>>
>
>Class作っても、「DblClick」、「MouseDown」のイベントは取れるけど
>「Exit」のイベントは取れないから、ヤッパリ42個分書いた方が無難かな?
>ただ、纏める方法では有りませんが、42個VBEで書くより早い方法としてこんなのは?
>
>例えば、以下の様なコードが有ります
>
>Option Explicit
>
>Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
>
> If Not DataCheck(TextBox1) Then
> Cancel = True
> End If
>
>End Sub
>
>Private Function DataCheck(txtBox As MSForms.TextBox) As Boolean
>
> If Val(txtBox.Text) <> 0 Then
> DataCheck = True
> End If
>
>End Function
>
>この「Sub TextBox1_Exit」を42個分そろえるなら
>先ず
>↓ここから
>Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
>
> If Not DataCheck(TextBox1) Then
> Cancel = True
> End If
>
>End Sub
>
>↑ここまでをワークシートにCopyします
>
>次に、ワークシートでCopyされた行が選択状態に成っている右下のフィルハンドルを
>下にドラッグします
>そうすれば
>
>Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
>
> If Not DataCheck(TextBox1) Then
> Cancel = True
> End If
>
>End Sub
>
>Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
>
> If Not DataCheck(TextBox2) Then
> Cancel = True
> End If
>
>End Sub
>
>Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
>
> If Not DataCheck(TextBox3) Then
> Cancel = True
> End If
>
>End Sub
>
>というコードが一遍に書けます
早速のご指導ありがとうございます。
Classで、「DblClick」、「MouseDown」で作る場合の方法を教えて
頂きたいと思います。Exitは42ヶ作ります。(現在は作ってあります)
|
|