0

これを行う方法や方法がわからない...「ap1」を使用して関数名を作成したいのですが、それは可能ですが、「予期される配列」エラーが発生します。考え?私はこれをあまりにも長い間見つめてきました。

コードの一部は次のとおりです。

Dim ap As Range
Dim newnum0 As String
Dim ap1 As Variant
Dim strswprog as string
dim strswtype as string


    If strswprog = "Add PORT" Then
         ap1 = strswtype & "_AddPort" 
    For Each ap In newrange
         If ap > 0 Then
              newnum0 = ap
              ap = ap1(newnum0)    'Here's the problem
              ap.Value = newnum0
         End If
    Next ap
    End if
4

1 に答える 1

1

あなたのコメントから:

strswtype の値は DMS100 で、それに「_AddPort」を追加しているので、ap1 = 「DMS100_AddPort」です。newnum0 値を DMS100_AddPort という関数に送信しています。ap = DMS100_AddPort(newnum0) のように設定せずにそれを関数に送信する方法はありますか?

これを行うには、Application.Run メソッドを使用します。

ap = Application.Run(ap1, newnum0)
于 2013-09-04T16:42:02.297 に答える