大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、グラフの「位置」と「サイズ」を設定する方法について、ご紹介します。グラフの位置は「.Left」と「.Top」で、「左」と「上」の位置が設定できます。グラフのサイズは、「.Width」と「.Height」で「幅」と「高さ」が設定できます。グラフの操作をVBAで自動化していきましょう。

はじめに

この記事では、グラフの位置とサイズを設定する方法について、ご紹介します。

グラフの位置は、グラフの「左」と「上」を設定することで移動することができます。

使うVBAコードは、次のようになります。

  • 左:.Left
  • 上:.Top

グラフのサイズは、グラフの「幅」と「高さ」を設定することで調整できます。

使うVBAコードは、次のようになります。

  • 幅 :.Width
  • 高さ:.Height

グラフの位置が取得できれば、別シートの「同じ位置」にコピーや移動をすることができるので、便利です。

では、グラフの位置とサイズを設定する方法について、解説していきます。

この記事で紹介すること

  • VBAでグラフの位置とサイズを設定する方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAコードまとめ

グラフの位置とサイズを設定するVBAコードについて、まとめています。

VBAコードだけを確認したい場合に、ご活用ください。

ActiveSheet.ChartObjects(1).Left = Range("B9").Left '左の位置
ActiveSheet.ChartObjects(1).Top = Range("B9").Top '上の位置
ActiveSheet.ChartObjects(1).Width = Range("B9:F19").Width '幅
ActiveSheet.ChartObjects(1).Height = Range("B9:F19").Height '高さ

では、解説していきます。

グラフの位置を設定する

グラフの位置を設定してみます。

グラフの位置は、「.Left」と「.Top」で設定します。

左を設定する(.Left)

左を設定してみます。

使うVBAコードは、「.Left」です。

Sub TEST1()
    
    With ActiveSheet.ChartObjects(1)
        .Left = Range("B9").Left '左の位置
    End With
        
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「左」の位置を設定

「左」の位置を設定

「左」の位置を設定できました。

上を設定する(.Top)

次は、グラフの「上」を設定してみます。

使うVBAコードは、「.Top」です。

Sub TEST2()
    
    With ActiveSheet.ChartObjects(1)
        .Top = Range("B9").Top '上の位置
    End With
        
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「上」の位置を設定

「上」の位置を設定

「上」の位置を設定できました。

グラフのサイズを設定する

グラフのサイズを設定してみます。

グラフは、「幅」と「高さ」を設定して、サイズを調整できます。

幅を設定する(.Width)

グラフの「幅」を設定してみます。

使うVBAコードは、「.Width」です。

Sub TEST3()
    
    With ActiveSheet.ChartObjects(1)
        .Width = Range("B9:F19").Width '幅
    End With
        
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「幅」を設定

「幅」を設定

「幅」を設定できました。

高さを設定する(.Height)

次は、グラフの「高さ」を設定してみます。

使うVBAコードは、「.Height」です。

Sub TEST4()
    
    With ActiveSheet.ChartObjects(1)
        .Height = Range("B9:F19").Height '高さ
    End With
        
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「高さ」を設定

「高さ」を設定

「高さ」を設定できました。

ちょっと応用

グラフの位置を取得して、別のグラフに設定することで、「別シートの同じ位置にコピーする」ということもできます。

別シートの同じ位置にコピーする

別シートの同じ位置にコピーしてみます。

手順としては、

  • グラフの位置を取得
  • グラフをコピーして別シートに貼り付け
  • 貼り付けたグラフに位置を設定

という流れです。

Sub TEST5()
    
    With ActiveSheet.ChartObjects(1)
        a = .Left '左の位置
        b = .Top '上の位置
        .Copy 'コピー
    End With
        
    With Worksheets("Sheet2")
        .Paste '貼り付け
        .ChartObjects(.ChartObjects.Count).Left = a '左の位置
        .ChartObjects(.ChartObjects.Count).Top = b '上の位置
    End With
    
End Sub

貼り付けたグラフを「.ChartObjects(.ChartObjects.Count)」で指定しているのがポイントです。

貼り付けたグラフの番号は、「グラフの数」と同じになりますので、「.ChartObjects.Count」でグラフの番号を指定しています。

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

別シートの同じ位置にコピー

別シートの同じ位置にコピー

別シートの同じ位置にコピーできました。

別シートに移動する

グラフを「別シートの同じ位置に移動」することもできます。

先ほどとのVBAコードで、「.Copy」ではなく「.Cut」を使うことでできます。

Sub TEST6()
    
    With ActiveSheet.ChartObjects(1)
        a = .Left '左の位置
        b = .Top '上の位置
        .Cut '切り取り
    End With
        
    With Worksheets("Sheet2")
        .Paste '貼り付け
        .ChartObjects(.ChartObjects.Count).Left = a '左の位置
        .ChartObjects(.ChartObjects.Count).Top = b '上の位置
    End With
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

別シートの同じ位置に移動

元シートにはグラフはなくなります。

元シートから別シートへ移動された

別シートの同じ位置に移動されます。

別シートの同じ位置に移動できた

別シートの同じ位置に移動できました。

おわりに

この記事では、グラフの位置とサイズを設定する方法について、ご紹介しました。

グラフの位置は、グラフの「左」と「上」を設定することで移動することができます。

使うVBAコードは、次のようになります。

  • 左:.Left
  • 上:.Top

グラフのサイズは、グラフの「幅」と「高さ」を設定することで調整できます。

使うVBAコードは、次のようになります。

  • 幅 :.Width
  • 高さ:.Height

グラフの位置が取得できれば、別シートの「同じ位置」にコピーや移動をすることができるので、便利です。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す