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' Invalid procedure call or argument. でコードが停止する場合があります。

私は自分で解決策を見つけようとしました。他にも多くの色があるため、すべてのセルにデフォルト値を設定することはできません。

この実行時エラーを回避するにはどうすればよいですか?

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 に答える