1

在宏中的某个时刻,我想使用绿色文本删除我在单元格中所做的所有评论。

为此,我只需使用 2 个“for”循环:

For Each WS In WB.Worksheets
For Each cell In WS.UsedRange.Cells

    If cell.Font.ThemeColor = xlThemeColorAccent3 Then
        cell.Value = ""

    End If
Next
Next

但有时主题颜色似乎没有定义,代码停止运行时错误“5”无效的过程调用或参数。

我试图自己找到解决方案。由于我有许多其他颜色,我无法为每个单元格设置默认值。

如何避免此运行时错误?

4

1 回答 1

1

如果只是为了避免它,您可以创建一些不太好的 try-catch (在 VBA 中不存在),如下所示:

    For Each WS In WB.Worksheets
        For Each cell In WS.UsedRange.Cells

            on error goto 1
            If cell.Font.ThemeColor = xlThemeColorAccent3 Then
                cell.Value = ""

            End If
1           on error goto 0

       Next
    Next
于 2013-05-03T16:56:37.330 回答