The following two tabs change content below.




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



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
どうも、takaです、今回は【ユーザーフォーム上にグラフを表示させる方法】をご紹介します(^^)/
というのもユーザーフォーム上にグラフを表示させるコントロールがありません(。-∀-)
なので今回はほんの少しだけ工夫をしてユーザーフォーム上にグラフを表示させてみたいと思います(^^)/
ユーザーフォーム上にグラフを表示させる方法
さて、ユーザーフォーム上にグラフを表示させる方法ですが、上記でもお話いたしましたがフォームコントロールではグラフを表示させるようなコントロールはありません。
そこで考えたのが【作成したグラフを画像として保存して表示させる】方法です(。-∀-)
まぁ誰でも思いつくと思いますが(;^ω^)もし拍子抜けさせてしまったなら申し訳ないです(笑)
ちなみにこんな感じになります( ^ω^ )


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


ユーザーフォームではイメージコントロールだけを使用します。
ユーザーフォーム上にグラフを表示させるコード
今回のコードは
- フォームを立ち上げた時にグラフを作成する
- 作成したグラフを画像として保存
- 保存した画像をイメージコントロールに表示させる。
という流れのコードになります(^^♪
ご注意
Exportメソッドを使用した場合グラフの解像度が落ちてしまいます
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フォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す