Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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
Excel vba图纸名称在数组中,但不显示任何内容_Excel_Vba - Fatal编程技术网

Excel vba图纸名称在数组中,但不显示任何内容

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

我想显示与数组中以“x”或“3”开头的单词匹配的工作表名称,如下所示,但现在只显示最后一个

WshtNames=数组(“X310361”、“X310377”、“X310379”、“X310400”、“310531”、“310539”、“X310561”、“X310579”、“X310605”、“310610”、“310645”、“310646”、“310647”、“310653”、“X310660”、“X310662”、“310665”)


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