|
こんにちは。かみちゃん です。
>と書きました。実行するとエラーがでて、
>Sub inputTxt(box1 As String, box2 As String)
> TextBox1←変数が定義されてません
inputTxt TextBox1.Text, TextBox2.Text
Call inputTxt(box1, box2)
の部分は、
box1 = TextBox1.Text
TextBox1.Text = TextBox2.Text
TextBox1.Text = box1
でいいのではないでしょうか?
inputTxt "", ""
Call inputTxt(box1, box2)
の部分は、
TextBox1.Text = ""
TextBox1.Text = ""
でいいのではないでしょうか?
または、UserFormモジュールに
Sub inputTxt(box1 As String, box2 As String)
TextBox1.Text = box2
TextBox2.Text = box1
End Sub
と書いておいてもいいと思います。
さらに、UserFormモジュールのほうには、
Call inputTxt〜
という記述は不要です。
なぜなら、UserFormモジュール内で、変数box1、box2の代入が行なわれていないからです。
一方、
> 標準モジュールに
書きたい場合は、
UserFormモジュールの
inputTxt TextBox1.Text, TextBox2.Text
の部分は、
inputTxt Me, TextBox1.Text, TextBox2.Text
に、
inputTxt "", ""
の部分は、
inputTxt Me, "", ""
として、
標準モジュールには、
Sub inputTxt(obj As Object, box1 As String, box2 As String)
obj.TextBox1.Text = box2
obj.TextBox2.Text = box1
End Sub
とすればできると思います。
|
|