Excel

【Excel】VBAマクロで図形貼り付け・作成の位置指定(複数、範囲指定、全てのシート、オートシェイプら選択したセル)方法【Range、Shapes.AddShape、Cells】

当サイトでは記事内に広告を含みます

この記事では、ExcelのVBAマクロを使用して、図形の貼り付けや作成の位置を指定する方法について解説していきます。

ポイントとしては、`Range`、`Shapes.AddShape`、`Cells`を使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。

そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

それでは詳しく見ていきましょう!

VBAマクロで図形貼り付け・作成の位置指定方法(一つ)【Range、Shapes.AddShape】

それではまず、図形の位置指定方法(一つ)について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub IchitsuZukeiHakochi()

    ' シートを指定
    Dim shiito As Worksheet
    Set shiito = ThisWorkbook.Worksheets("Sheet1")

    ' 図形を貼り付ける位置を指定して作成
    shiito.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 50

End Sub

コードのAlt+F8を押し、マクロ選択画面でIchitsuZukeiHakochi関数を実行します。

このコードでは、”Sheet1″の指定された位置に、長方形の図形を作成します。

VBAマクロで図形貼り付け・作成の位置指定方法(範囲指定、連続する複数セル)【Range、Shapes.AddShape】

続いては、図形の位置指定方法(範囲指定、連続する複数セル)について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub RenzokuZukeiHakochi()

    ' シートを指定
    Dim shiito As Worksheet
    Set shiito = ThisWorkbook.Worksheets("Sheet1")

    ' 図形を貼り付ける位置を範囲指定して作成
    Dim hani As Range
    Set hani = shiito.Range("B2:D4")

    ' 範囲内に図形を作成
    shiito.Shapes.AddShape msoShapeOval, hani.Left, hani.Top, hani.Width, hani.Height

End Sub

コードのAlt+F8を押し、マクロ選択画面でRenzokuZukeiHakochi関数を実行します。

このコードでは、”Sheet1″のB2からD4までの範囲に、楕円の図形を作成します。

VBAマクロで図形貼り付け・作成の位置指定方法(範囲指定、3列ごとに)【Cells、Shapes.AddShape】

最後に、図形の位置指定方法(範囲指定、3列ごとに)について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SanretuZukeiHakochi()

    ' シートを指定
    Dim shiito As Worksheet
    Set shiito = ThisWorkbook.Worksheets("Sheet1")

    Dim i As Integer
    For i = 1 To 10 Step 3
        ' 3列ごとに図形を作成
        Dim saizu As Range
        Set saizu = shiito.Cells(1, i)
        shiito.Shapes.AddShape msoShapeRightTriangle, saizu.Left, saizu.Top, 50, 50
    Next i

End Sub

コードのAlt+F8を押し、マクロ選択画面でSanretuZukeiHakochi関数を実行します。

このコードでは、”Sheet1″の1行目を基準に、3列ごとに右向きの三角形を作成します。

まとめ

以上、ExcelのVBAマクロを利用して図形の位置を指定して作成する方法について解説しました。

これらの基本的な手法をマスターすれば、より高度な図形操作も行えるようになります。

初心者の方でも、この記事を参考にして、VBAマクロの魅力に触れてみてくださいね。