|
こんにちわ。お世話になります。
ユーザーフォームのOptionButtonのイベントプロシージャを
書いているのですが、行数が長すぎてしまうため
「プロシージャが大きすぎます」とエラー文が出てしまいました。
そこで、途中までイベントを書いて
残りを標準モジュール内に書き、Callを使って呼び出そうと考えました。
ですが、標準モジュール内に書いた文章にはフォーム内で使われている
TextBoxのオブジェクト名や、フォーム内で使用している変数が載っています。
つくった物の一部分を乗せます。(はしょって書いてますが大体こんな感じです。)
オプションボタンが3つあり、それぞれクリックするとBox1に
値が入力されます。
Private Sub OpButton0_Click()
If OpButton0 = True Then
Box1.Value = Empty
Else
End If
End Sub
Private Sub OpButton1_Click()
Dim Money1 As Integer
Money1 = 500
If OpButton1 = True Then
Box1.Value = Money1
Else
End If
End Sub
Private Sub OpButton2_Click()
Dim Money2 As Integer
Money2 = 1000
If OpButton2 = True Then
Box1.Value = Money2
Else
End If
End Sub
■各ボタンがTrueになったときに、書き込む部分が多くなってしまったので、
Callを使いました。以下に書きます。
■ユーザーフォーム内↓
Private Sub OpButton0_Click()
If OpButton0 = True Then
Box1.Value = Empty
Else
End If
End Sub
Private Sub OpButton1_Click()
Dim Money1 As Integer
Money1 = 500
If OpButton1 = True Then
Call 収納データ1
Else
End If
End Sub
Private Sub OpButton2_Click()
Dim Money2 As Integer
Money2 = 1000
If OpButton2 = True Then
Call 収納データ2
Else
End If
End Sub
■標準モジュール内↓
Public Sub 収納データ1()
Box1.Value = Money1
End Sub
Public Sub 収納データ2()
Box1.Value = Money2
End Sub
…これだと、変数が設定されていません。とエラーが出てしまうのですが、
エラーが出ないように正しくデータを読み取らせるにはどうすれば
よいのでしょうか?
もう一度標準モジュール内で変数の設定をし直す必要があるのでしょうか?
その場合の書き方もできれば教えてほしいです。
(特にフォーム内で使用されているオブジェクトに関しての設定について)
よろしくおねがいします。
|
|