首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历形状,但不遍历注释

循环遍历形状,但不遍历注释
EN

Stack Overflow用户
提问于 2020-07-17 18:10:44
回答 1查看 57关注 0票数 1

我有一个很大的Excel文件,我必须评估它。我正在尝试自动执行这项任务。Excel文件包含许多形状(文本框)和注释。我需要评估文本框,但忽略注释。显然,当我使用for each循环遍历形状时,我也得到了注释。有没有一种方法可以忽略评论。下面是我的代码:

代码语言:javascript
复制
    For Each shp In ActiveSheet.Shapes
        On Error GoTo NextShape
        If InStr(shp.Name, ", ") Then
            splitName = Split(shp.Name, ", ")
            If splitName(UBound(splitName)) = "FS" Then
                check_codes_in_Textbox shp
            End If
        End If
NextShape:
    If Err.Number <> 0 Then MsgBox (Err.Description)
    Next

在我的Excel文件中,许多文本框的名称中都有",FS“,这就是我尝试使用InStr函数的原因,但这种方式有点不方便。

有没有一种循环遍历形状而不是遍历注释的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-17 18:18:02

您可以使用shp.Type

代码语言:javascript
复制
For Each shp In ActiveSheet.Shapes
    On Error GoTo NextShape
    If InStr(shp.Name, ", ") And shp.Type <> 4 Then 'type 4 is commment, type 17 is text box for example etc... Check with debug.print shp.Type what is current shape type
        splitName = Split(shp.Name, ", ")
        If splitName(UBound(splitName)) = "FS" Then
            check_codes_in_Textbox shp
        End If
    End If
NextShape:
If Err.Number <> 0 Then MsgBox (Err.Description)
Next
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62951831

复制
相关文章

相似问题

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