首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“运行时错误#1004:未找到指定项”--遍历worsheets和对象的循环

“运行时错误#1004:未找到指定项”--遍历worsheets和对象的循环
EN

Stack Overflow用户
提问于 2016-07-22 23:07:01
回答 1查看 99关注 0票数 0

我有10张单张,名称从“1 1Store”到“10 1Store”不等;在每张床单中,有10张,每张有16张照片,详情如下:

单张“1 1Store”(共计2×8×10张图片,均有不同的名称)

第一商店的第一人:

  • 两个图片名为"No1-1-A","Yes1-1-A“(保留给单元格"P16")
  • 两个图片名为"No1-1-B","Yes1-1-B“(保留给单元格"P31") (...)
  • 2张名为"No1-1-H“、"Yes1-1-H”的图片(保留给单元格"P115")

第一商店的第二人:

  • 2张名为"No2-1-A“、"Yes2-1-A”的图片(保留给单元格"AE16")
  • 2张名为"No2-1-B“、"Yes2-1-B”的图片(保留给单元格"AE31") (...)
  • 2张名为"No2-1-H“、"Yes2-1-H”的图片(保留给单元格"AE115")

等等..。硫柳剂

第一商店的第10人:

  • 2张图片名为"No10-1-A","Yes10-1-A“(保留给单元格"FC16")
  • 2张图片名为"No10-1-B","Yes10-1-B“(保留给单元格"FC31") (...)
  • 2张图片名为"No10-1-H","Yes10-1-H“(保留给单元格"FC115")

这些床单一直延伸到“10店”,如下所示:

单张“10 10Store”(共计2x8x10张图片,均有不同的名称)

第十家商店的第一人:

  • 2张图片名为"No1-10-A","Yes1-10-A“(保留给单元格"P16")
  • 两个图片名为"No1-10-B","Yes1-10-B“(保留给单元格"P31") (...)
  • 2张图片名为"No1-10-H","Yes1-10-H“(保留给单元格"P115")

第十家商店的第二人:

  • 2张名为"No2-10-A“、"Yes2-10-A”的图片(保留给单元格"AE16")
  • 2张名为"No2-10-B“、"Yes2-10-B”的图片(保留给单元格"AE31") (...)
  • 2张名为"No2-10-H“、"Yes2-10-H”的图片(保留给单元格"AE115")

第10商店的第10人:

  • 2张图片名为"No10-10-A“、"Yes10-10-A”(保留给单元格"FC16")
  • 2张图片名为"No10-10-B","Yes10-10-B“(保留给单元格"FC31") (...)
  • 2张图片名为"No10-10-H","Yes10-10-H“(保留给单元格"FC115")

..。如人1(细胞P)、人2(细胞声发射)、人3(细胞AU)、人4(细胞BK)、人5(细胞CA)、人6(细胞CQ)、人7(细胞DG)、人8 (cell DW)、人9 (cell EM)、人10 (cell FC)*

问题:我得到了"VBA 1004:指定项未找到“。所有图片都在那里并命名。我如何让脚本工作?

代码语言:javascript
复制
Sub test()
Dim i,j As Integer
i=1 'Store
j=1 'Person
For i = 1 To 10
  For j = 1 to 10

    If Sheets("" & i & "Store").Range("P16").Value = 0 Then

        Sheets("" & i & "Store").Shapes.Range(Array("No"  & j & "-" & i & "-A")).Visible = True
        Sheets("" & i & "Store").Shapes.Range(Array("Yes" & j & "-" & i & "-A")).Visible = False
    Else
        Sheets("" & i & "Store").Shapes.Range(Array("No"  & j & "-" & i & "-A")).Visible = False
        Sheets("" & i & "Store").Shapes.Range(Array("Yes" & j & "-" & i & "-A")).Visible = True

    End if

    If Sheets("" & i & "Store").Range("P31").Value = 0 Then

        Sheets("" & i & "Store").Shapes.Range(Array("No"  & j & "-" & i & "-B")).Visible = True
        Sheets("" & i & "Store").Shapes.Range(Array("Yes" & j & "-" & i & "-B")).Visible = False
    Else
        Sheets("" & i & "Store").Shapes.Range(Array("No"  & j & "-" & i & "-B")).Visible = False
        Sheets("" & i & "Store").Shapes.Range(Array("Yes" & j & "-" & i & "-B")).Visible = True

    End if

      (...) 

    If Sheets("" & i & "Store").Range("FC115").Value = 0 Then

        Sheets("" & i & "Store").Shapes.Range(Array("No"  & j & "-" & i & "-H")).Visible = True
        Sheets("" & i & "Store").Shapes.Range(Array("Yes" & j & "-" & i & "-H")).Visible = False
    Else
        Sheets("" & i & "Store").Shapes.Range(Array("No"  & j & "-" & i & "-H")).Visible = False
        Sheets("" & i & "Store").Shapes.Range(Array("Yes" & j & "-" & i & "-H")).Visible = True

    End if

      (...) Above, it correlates all 10 Persons with all 10 stores (from P16-A,..., FC115-H) 

       Next j
   Next i

End Sub
EN

回答 1

Stack Overflow用户

发布于 2016-07-22 23:24:04

文献资料:“可以是一个整数,它指定形状的索引号,一个字符串指定形状的名称,或者一个数组包含整数或字符串。”除非有名为"Yes“、"No”、1、2等形状,否则Array调用不会执行任何操作。您只需要做简单的连接:

代码语言:javascript
复制
Sheets(i & "Store").Shapes.Range("No"  & j & "-" & i & "-A").Visible = True
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38536430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档