私は、さまざまなメッセージを入れるメッセージ関数を定義しました。つまり、フォームでこの関数を呼び出すと、対応する選択されたメッセージだけが画面に表示されます。ここに私の例:VBAの配列から値を返す
'Thats the message sub
Public Sub MsgString(txtNo As Byte)
MsgBox MsgTxt(txtNo)
End Sub
'Thats the message function to return the corresponding value, which is chosen
Private Function MsgTxt(txtNo As Byte) As String
Dim arrMsgTxt() As Variant
arrMsgTxt = Array("error message number one", "error message number two", "error message number three")
For txtNo = LBound(arrMsgTxt) To UBound(arrMsgTxt)
MsgTxt = arrMsgTxt(txtNo)
Exit Function
Next txtNo
End Function
は、それを解決する良い方法はありますか?現在、インスタンス化された値の後に関数を終了する必要があります。
なぜ期待............デフォルトのインデックスは、ゼロベースで、覚えておいてください使用したいメッセージのどれを知っていれば(おそらくtxtNoの値で)、エラーメッセージの配列をループする必要がありますか? Exit関数と共にForとNext行を削除し、機能に変更を加えることはできません – Dave
@Daveはい、変数 'txtNo'に配列の番号が入ります。あなたはより良い解決策を考えていますか? – yuro
ゲイリーの学生の答えを参照してください... – Dave