ユーザーフォーム上にグラフを表示させる方法



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、takaです、今回は【ユーザーフォーム上にグラフを表示させる方法】をご紹介します(^^)/

というのもユーザーフォーム上にグラフを表示させるコントロールがありません(。-∀-)

なので今回はほんの少しだけ工夫をしてユーザーフォーム上にグラフを表示させてみたいと思います(^^)/

ユーザーフォーム上にグラフを表示させる方法

さて、ユーザーフォーム上にグラフを表示させる方法ですが、上記でもお話いたしましたがフォームコントロールではグラフを表示させるようなコントロールはありません。

そこで考えたのが【作成したグラフを画像として保存して表示させる】方法です(。-∀-)

まぁ誰でも思いつくと思いますが(;^ω^)もし拍子抜けさせてしまったなら申し訳ないです(笑)

ちなみにこんな感じになります( ^ω^ )

準備

今回グラフを作るにあたって下記のようなデータを適用に用意しました、今回はこのデータをもとに作成していきます。

ユーザーフォームではイメージコントロールだけを使用します。

ユーザーフォーム上にグラフを表示させるコード

今回のコードは

  1. フォームを立ち上げた時にグラフを作成する
  2. 作成したグラフを画像として保存
  3. 保存した画像をイメージコントロールに表示させる。

という流れのコードになります(^^♪

ご注意
Exportメソッドを使用した場合グラフの解像度が落ちてしまいます
Private Sub UserForm_Initialize()

Dim Lastrow As Long
  Dim TempChartObject
    
   Lastrow = Cells(Rows.Count, 2).End(xlUp).Row 'データの範囲を取得
   
   ActiveSheet.Shapes.AddChart2(306, xlColumnClustered).Select
   
   With ActiveChart
   .SetSourceData Source:=Range(Cells(1, 1), Cells(Lastrow, 2)) 'データ範囲を指定
   .HasTitle = True  'タイトルを表示させる設定
   .ChartTitle.Text = Format(Cells(1, 1), "yyyy年mm月") & "~" & Format(Cells(Lastrow, 1), "yyyy年mm月") 'グラフのタイトル
   .Export (ThisWorkbook.Path & "\test.Jpg") 'Exportメソッド:グラフを画像として保存することができる。ファイル形式も指定可能
 End With
 
 Image1.Picture = LoadPicture(ThisWorkbook.Path & "\test.Jpg") '保存した画像をImageコントロールに表示させる
 
End Sub

 

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です