Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA 2015使用其部分名称查找变量_Vba_Variables_Search_Find - Fatal编程技术网

VBA 2015使用其部分名称查找变量

VBA 2015使用其部分名称查找变量,vba,variables,search,find,Vba,Variables,Search,Find,我有: 需要找到: Dim some340id, some341id, someCDFid, someARCid, some8FGid etc... as String 比如: Dim idtofind as String = "ARC" 如何为此编写代码?虽然VB是一个解释器,但我不知道您是否能做到这一点。但您可以使用具有有意义的Const名称的数组和索引,例如: Dim Found As String = some{idtofind}id @Paul,不工作(“字符串为空”),但我尝试

我有:

需要找到:

Dim some340id, some341id, someCDFid, someARCid, some8FGid etc... as String
比如:

Dim idtofind as String = "ARC"

如何为此编写代码?

虽然VB是一个解释器,但我不知道您是否能做到这一点。但您可以使用具有有意义的
Const
名称的数组和索引,例如:

Dim Found As String = some{idtofind}id
@Paul,不工作(“字符串为空”),但我尝试修改您的解决方案,现在它工作了。多谢各位

Private Const i340id As Integer = 0
Private Const i341id As Integer = 1
...
Private Const iMAXid As Integer = 99

Dim some(iMAXid) As String

MsgBox "String is " & some(i341id)
现在如何更改工作变量的结果

Public Const incoming340id As Integer = 0
    Public Const incoming341id As Integer = 1
    Public Const incomingMAXid As Integer = 99

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim some As String = 341

    MsgBox("String is " & "incoming" & some.ToString & "id")
End Sub
我有一些新东西,想像变量incoming341id一样处理它

Dim somethingNew as String = "incoming" & some.ToString & "id"

但是现在我有了“somethingNew”…

似乎您没有意识到:您无法通过编程获得变量的名称。相反,请使用重复发送变量的数组,并使用具有有意义名称的常量索引。当String=341时,
Dim-some将无法工作,因为您无法在VB中初始化变量,只能初始化常量。看,这不是VBA代码,也没有VBA 2015之类的东西。这可能是VB.NET。你应该正确地标记你的问题,然后正确的人会看到它。.NET Framework具有VBA中不可用的可能性。
incoming341id = otherResult.Text