【エクセルVBA】3D等高線グラフをシート上で回転アニメーション化する方法!

 

この記事では、以下の動画のように既存の3D等高線グラフの視野を回転させながらアニメーションにする方法をご紹介していきます。

3D等高線グラフの視野を回転させるアニメーション化させるという概要動画

 

基本的には記事中のコードをコピーするだけでOKです。

 

※そもそもの3D等高線グラフの作り方を知りたい、という方はまずは以下の記事を参考にしてみてください。

【エクセルVBA】自動で3D-等高線グラフを作成する方法!領域指定するだけ!

 

それではさっそくやっていきましょう。

 

スポンサーリンク

3D等高線グラフを準備しておく

まずは回転させるグラフがなければ話になりませんので、まずはグラフを作成していきましょう。

 

今回は以下のようなグラフを準備しています。

基本的には前回の記事で作成したものとまったく同じです。

使用する3D等高線グラフのサンプル

 

スポンサーリンク

回転させる前の下準備

次は回転させる前に必要な準備をしておきましょう。

 

まずは以下の画像を参考に3D-回転(R)を選択します。

3D等高線グラフに行っておく下準備のやり方解説

 

すると以下のような調整項目が出てきますので、こちらも以下の画像を参考に設定を行います。

3D等高線グラフに行っておく下準備のやり方解説

 

これらを実施すると私の場合は以下のような表示になりました。

3D等高線グラフに下準備をした結果

以降の項目ではこの形をベースに視野を回転させていくことになります。

 

スポンサーリンク

グラフ視野を回転させて動画化するVBAコード

それでは本題であるグラフの回転アニメーション化を行っていきましょう。

 

まずはVBAコードを記述しましょう。

Sub Rotation_grf()
    Dim i, num_rot, step_deg As Integer
    Application.ScreenUpdating = True
    ActiveChart.Parent.Name = "3d_surface"
    num_rot = 1
    step_deg = 10
    For j = 1 To num_rot
        For i = 0 To 360 - step_deg Step step_deg
            ActiveSheet.ChartObjects("3d_surface").Chart.Rotation = i
            '画像として出力したい場合は以下のコメントは外す
            'ActiveSheet.ChartObjects("3d_surface").Chart.Export ThisWorkbook.Path & "\deg" & Format(i, "000") & ".jpg"
            DoEvents
        Next
    Next
End Sub

 

たったのこれだけです。

変数の説明は以下ですので、状況に応じて調整してください。

num_rot:VBA実行中に何回転させるか

step_deg:1コマあたりの回転角度

 

なお、各回転角度の画像を出力したい場合はDoEventsの前のコードをアクティブにすれば実行フォルダに画像が出力されます。

こちらも必要に応じてご利用ください。

スポンサーリンク

サンプルコードの実行方法

先ほどのコードは何も考えずに実行すると動きません。

 

実行方法は以下の通りです。

まずはグラフを選択した状態にします。(以下画像参照)

マクロの実行方法の解説

 

この状態を維持したまま、開発タブ⇒マクロ⇒Rotation_grfを選択⇒実行でマクロ実行を行います。

 

すると以下のようにグラフが回転し始めるはずです。

マクロの実行結果

 

というわけで無事やりたいことを実行できましたね。

 

スポンサーリンク

おわりに

というわけで既存の3D等高線グラフを回転させてアニメーション化する方法をご紹介しました。

データ分析の際などにぜひご活用ください。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました