Excel vba图纸名称在数组中,但不显示任何内容
我想显示与数组中以“x”或“3”开头的单词匹配的工作表名称,如下所示,但现在只显示最后一个 WshtNames=数组(“X310361”、“X310377”、“X310379”、“X310400”、“310531”、“310539”、“X310561”、“X310579”、“X310605”、“310610”、“310645”、“310646”、“310647”、“310653”、“X310660”、“X310662”、“310665”)Excel vba图纸名称在数组中,但不显示任何内容,excel,vba,Excel,Vba,我想显示与数组中以“x”或“3”开头的单词匹配的工作表名称,如下所示,但现在只显示最后一个 WshtNames=数组(“X310361”、“X310377”、“X310379”、“X310400”、“310531”、“310539”、“X310561”、“X310579”、“X310605”、“310610”、“310645”、“310646”、“310647”、“310653”、“X310660”、“X310662”、“310665”) intA是shtArray()中的最后一个索引Debug
intA
是shtArray()
中的最后一个索引Debug.Print shtArray(intA)
将打印最后一个索引中的值Join(shtArray,vbNewLine)
将数组中的所有元素n连接成一个由行retur分隔的字符串
调整数组大小并添加值后,计数器应递增,因为数组从0开始。否则,数组中的第一个元素将不会被赋予值
If LCase(Left(ws.Name, 1)) = "x" Or Left(ws.Name, 1) = "3" Then
ReDim Preserve shtArray(intA)
shtArray(intA) = ws.Name
intA = intA + 1
End If
这是工作,但不是我的目的。当我将这个数组放入另一个for循环时,我得到了如下错误。WshtNames=为中的每个WshtNameCrnt加入(shtArray)WshtNames@kit38912739我更新了我的答案。注意:将
Debug.Print-shtArray(intA)
更改为Debug.Print-shtArray(intA-1)
或更好的Debug.Print-shtArray(Ubound(shtArray))
我通过运行代码并在本地窗口中检查shtArray
发现了问题。观察:
Debug.Print Join(shtArray,vbNewLine)
If LCase(Left(ws.Name, 1)) = "x" Or Left(ws.Name, 1) = "3" Then
ReDim Preserve shtArray(intA)
shtArray(intA) = ws.Name
intA = intA + 1
End If