Vba 添加两个变量的名称并创建一个新的动态变量

Vba 添加两个变量的名称并创建一个新的动态变量,vba,excel,Vba,Excel,我正在编写一个代码,其中有一个for循环,在该循环中我给变量(名为VType)一些值。For循环用于一系列i变量。现在我想通过连接两个变量的名称来创建一个新变量。例如,如果i=1,那么我想使变量VType1。这是我的一段代码 nrec = Split(Split(ie.document.body.innerHTML, "Found <strong>")(1), "</strong> records")(0) If nrec = 1 Then lnk.Click E

我正在编写一个代码,其中有一个for循环,在该循环中我给变量(名为
VType
)一些值。For循环用于一系列i变量。现在我想通过连接两个变量的名称来创建一个新变量。例如,如果i=1,那么我想使变量VType1。这是我的一段代码

nrec = Split(Split(ie.document.body.innerHTML, "Found <strong>")(1), "</strong> records")(0)
If nrec = 1 Then
    lnk.Click
Else
    For j = 1 To nrec
        link.Click

        Do While ie.readyState <> 4: Wait 5: Loop

        Application.Wait (Now + TimeValue("0:00:01"))
        'VType , j = GetType
        'Application.Wait (Now + TimeValue("0:00:01"))
        IMO , j = GetValue("IMO:")
        'MMSI = GetValue("MMSI:")
        YBuilt , j = GetValue("Year Built:")
        Flag , j = GetValue("Flag:")
        DWT , j = GetValue("Deadweight:")
    Next j

    num = "1 - " & IMO1
    For i = 2 To nrec
        num = num & vbCrLf & i & "abc"
    Next I
    fin = InputBox(num, nrec & " records found for a. please select right one.")

    Exit For
End If
nrec=Split(Split(即.document.body.innerHTML,“Found”)(1),“记录”)(0)
如果nrec=1,则
lnk.点击
其他的
对于j=1至nrec
链接。点击
正在执行ie.readyState 4:等待5:循环
Application.Wait(现在+时间值(“0:00:01”))
'VType,j=GetType
'Application.Wait(现在+时间值(“0:00:01”))
IMO,j=GetValue(“IMO:”)
'MMSI=GetValue(“MMSI:”)
YBuilt,j=GetValue(“建成年份:”)
标志,j=GetValue(“标志:”)
DWT,j=GetValue(“自重:)
下一个j
num=“1-”和IMO1
对于i=2到nrec
num=num&vbCrLf&i&“abc”
接下来我
fin=InputBox(num,nrec&“找到a的记录。请选择正确的记录”)
退出
如果结束

没有一种方法可以直接执行您特别要求的操作。但是,您可以使用数组获得类似的结果。数组不是一个可以用一个简单的答案来解释的主题,但是如果你做一点研究,你可能会发现下面的内容是如何有用的

Dim VTtyp(0 to i) as string


'while Looping... 
Vtype(i) = "Whatever you want stored in this round of i"
代码完成后,所有字段都将保存为可从此数组调用的变量。例如,如果要调用与数字“2”关联的文本,可以键入:
Vtype(2)
,它将调用2次迭代中的文本


再一次,这个例子是非常简化的,还有一些事情要考虑,比如暗淡的大小,改变暗淡,保存数组等等,这是你必须进一步研究的东西。然而,底线是,“没有办法去做你特别想做的事。”

没有办法直接去做你特别要求的事。但是,您可以使用数组获得类似的结果。数组不是一个可以用一个简单的答案来解释的主题,但是如果你做一点研究,你可能会发现下面的内容是如何有用的

Dim VTtyp(0 to i) as string


'while Looping... 
Vtype(i) = "Whatever you want stored in this round of i"
代码完成后,所有字段都将保存为可从此数组调用的变量。例如,如果要调用与数字“2”关联的文本,可以键入:
Vtype(2)
,它将调用2次迭代中的文本


再一次,这个例子是非常简化的,还有一些事情要考虑,比如暗淡的大小,改变暗淡,保存数组等等,这是你必须进一步研究的东西。然而,底线是,“没有一种方法可以完成您特别想要做的事情。”

您可以使用Dictionary对象概念来实现这一点。通过下面的链接了解有关字典对象的更多信息


您可以使用Dictionary对象概念来实现这一点。通过下面的链接了解有关字典对象的更多信息


我听说过一种叫做数组的东西……可能是重复的……我听说过一种叫做数组的东西……可能是重复的