4 arrays indexing vbscript location
希望这是一个简单的方法,但是我似乎找不到任何参考。
如何打印存储在数组中的内容的位置,而不是其中的实际项目的位置。
Array(0) = Dog
Array(1) = Cat
Array(2) = Fish
Run Code Online (Sandbox Code Playgroud)
可以说我搜索了数组并找到了cat,我如何打印cat的存储位置,在本例中为Index Number(1)。
提前致谢。
数组的位置称为 index
如果你运行一个循环,
For i = LBound(Array) to UBound(Array)
if Array(i) = "Cat" then '--restrict to find index of particular item
MsgBox i '-- gives the location/index of Cat item
End if
next i
Run Code Online (Sandbox Code Playgroud)
LBound: 是下界,数组的起始索引。首先。它可以为零或任何值,因为 VBA 提供了将默认数组基数更改为 0 或 1 的灵活性。
UBound: 是上限,数组的结束索引。最后。
进一步阅读:在由 Range 分配的数组的情况下,LBound 和 Ubound 发生冲突。
在这种情况下,最好使用ArrayList而不是简单数组。
Set myArray = CreateObject ("System.Collections.ArrayList")
With myArray
.Add "Dog"
.Add "Cat"
.Add "Fish"
End With
intIndex = myArray.IndexOf ("Cat",0)
Run Code Online (Sandbox Code Playgroud)
另外,您不必在意边界。