0

ユーザーフォームを介してコードにIFルールを追加し、プログラムを実行できるようにしたいと考えています。ルールは次のようなものです。

If Xarray(i,j-1)= "X" and Xarray(i,j+1)= "Y" Then Xarray(i,j)= "Z" 

「X」、「Y」、および「Z」は、ユーザーフォームを使用してユーザーが入力するテキストボックスであり、ユーザーがクリックすると「ルールを追加」ボタンがあり、プログラムでコードにルールが追加されます。後で、ルールをより複雑なルールに拡張できます。私の質問は、Excel VBA でこのような手順を作成するにはどうすればよいですか?

ありがとう。

次に例を示します。

3 つのテキスト ボックスと 1 つの [ルールの追加] ボタンを持つユーザー フォームがあります。このコードサンプルを作成しました:

Private Sub UserForm_Initialize()

    Dim LeftCell As String, RightCell As String, CenterCell As String
    Dim iRule As String

     UserForm1.Show
    LeftCell = txtLeft.Text
    CenterCell = txtCenter.Text
    RightCell = txtRight.Text

    iRule = "If " & "Xarr(I, J - 1) = " & LeftCell & " And" & " Xarr(I, J + 1) = " & RightCell & " Then" & Chr(10) & _
            " Xarr(I, J) = " & CenterCell & Chr(10) & _
            "End If"

    MsgBox iRule
End Sub

問題は、メイン コードで iRule (文字列) を「IF ステートメント」として使用する方法です。

4

2 に答える 2

0

私が考えることができる1つの方法は、新しいモジュールに文字列(実行したいコード)でサブルーチンを作成し、そのサブルーチンを実行することです

于 2013-09-26T06:44:04.387 に答える