VBA でセルの値をオートシェイプに表示させる

検索してもなかなか引っかからなかったのですが、以下のサイトで「DrawingObjects」というものを知りました。

VBA研究室 Part 3


このサイトを参考に、C1 セルの値を A1 セルにあるオートシェイプに表示させてみました。

Public Sub Macro1()

    Dim sheet As Worksheet
    Set sheet = ThisWorkbook.Worksheets(1)

    Dim sp As Shape
    For Each sp In sheet.Shapes
        If sp.TopLeftCell.Address(0, 0) = "A1" Then
            sp.DrawingObject.Formula = "=$C$1"
        End If
    Next sp

    Set sp = Nothing
    Set sheet = Nothing

End Sub


これは便利だなぁ〜。