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 回答