テーブルのラベルで列を指定した時の失敗談

本日、とれたてホヤホヤの失敗談。

最近はマクロのコードに、例えば変数などに日本語を使うことは殆どなくなった。しかしテーブルのラベルで列指定するときなどは、どうしても日本語が登場する。
f:id:Infoment:20181018220922p:plain
⇒ 写真の引用元

例えば、↓こんな感じ。
f:id:Infoment:20181018221216p:plain

この表は、テーブルとして書式設定されている。この「出荷状況」の列について、例えば入力値が「〇」以外の場合に、セルを赤で塗りつぶしたいとする。

Sub Sample()
    Dim FruitTable As ListObject
    Set FruitTable = ActiveSheet.ListObjects(1)
    Dim r As Range
        For Each r In FruitTable.ListColumns("出荷情況").DataBodyRange
            Select Case r.Value
                Case "〇"
                Case Else
                    r.Interior.Color = vbRed
            End Select
        Next
End Sub


このマクロを実行すると、こんなエラーが出た。何故?

f:id:Infoment:20181018221948p:plain


もう既に、お気づきの方も居られると思う。原因は、単なるタイプミスだ。
シートの記載:「状況」
マクロの記載:「情況」
違う文字なのに、確認する際は、どちらも頭の中で「じょうきょう」と読んでいて差が無い。そのため、なかなか気づくことが出来なかった。残念!

シート側は私が書いたものではなかったため、最終的にはマクロ側の記載を修正して、正常に動作することを確認したのでした。

f:id:Infoment:20181018222806p:plain

参考まで(今日のは、参考にならないかも)。