
教えてください!
今、フォームで表示されたリストボックスから一つ項目を選択しOKボタン(CommandButton1)を押すと、すでに別のワークシートに作成されたグラフが今開いているシートにユーザーフォームで表示されるというファイルを作成しています。
グラフがユーザーフォーム内に表示されるというのは出来たのですが、項目数が7つあるリストボックスからそれぞれ選択すると、
AAA→グラフ1
BBB→グラフ2
CCC→グラフ3
DDD→グラフ4
・
・
・
という風に「リストボックスのこの文字を選択しOKボタンを押すと、このグラフが表示されるようにする」といったようなマクロを完成させたいのです。
ちなみにグラフが表示されるようにするのに、以下のような記述をしました。
-------------------------------------------------
Worksheets("グラフ1").ChartObjects(1).Chart.Export ThisWorkbook.Path & "\Chart1.gif"
UserForm1.Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Chart1.gif")
UserForm1.StartUpPosition = 1
UserForm1.Show
-------------------------------------------------
困っています。
教えてください。宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
こんにちは。
Worksheets("グラフ1").ChartObjects(1).Chart.Export ThisWorkbook.Path & "\Chart1.gif"
これは、別にエキスポートしてください。ユーザーフォームが起動のたびに、エキスポートする必要はありませんから。7個あったら、それぞれ名前を確認して、出力してください。
For i = 1 to 7
Worksheets("グラフ1").ChartObjects(i).Chart.Export ThisWorkbook.Path & "\Chart"& i &".gif"
Next i
などとします。
サンプルコードです。現在は、4個しかありませんが、やり方はお分かりになると思います。配列で、名称とグラフのGif名とを連動させます。
'<ユーザーフォームモジュール>
Dim myCharts As Variant
Private Sub CommandButton1_Click()
i = Me.ListBox1.ListIndex
Me.Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & myCharts(i))
End Sub
'この部分は余計かもしれません
Private Sub ListBox1_Click()
MsgBox "リストボックスのこの文字を選択しOKボタンを押すと、" & ListBox1.Value _
& "のグラフが表示されます。"
End Sub
Private Sub UserForm_Initialize()
Dim ListArray As Variant
ListArray = Array("AAA", "BBB", "CCC", "DDD")
myCharts = Array("Chart1.gif", "Chart2.gif", "Chart3.gif", "Chart4.gif")
Me.ListBox1.List = ListArray
End Sub
この回答への補足
お返事が遅くなってしまい、申し訳ありません。
ちなみに「グラフをエキスポートする」というのはどういうことなのでしょう?
ちなみにグラフは同じブック内のデータとリンクしており、データは頻繁に変更されます。
フォームのグラフはその都度、シートから呼び出されるようにしたいのですが。
よろしくお願いします。
No.1
- 回答日時:
分岐の話だけという認識で回答します。
list1は、リストボックスの名前です
for i=0 to list1.listcount -1
if (list1.selected(i)) then
if list1.list(i) = "AAA" then
'グラフ1のよびだし
elseif list1.list(i) = "BBB" then
'グラフ2のよびだし
elseif list1.list(i) = "CCC" then
'グラフ3のよびだし
end if
end if
next
お礼が遅くなってしまい、申し訳ありません。
分岐させるというのは上記のようなやり方でできたんですね!
どうもありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- Excel(エクセル) Excelグラフについて 1 2022/06/16 16:06
- Excel(エクセル) <スプレッドシート>採用進捗 グラフ作成について 3 2022/10/23 15:52
- その他(Microsoft Office) エクセルでレーダーチャートのグラフを作成しようとしました。 表をレーダーチャートにした際は,問題無く 1 2023/08/10 20:08
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) Excelで日付のグラフへの表示 2 2022/04/15 11:04
- Excel(エクセル) エクセルのグラフに上下限値の横棒を表示させたい 5 2022/12/12 11:09
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルにおける、グラフの指...
-
イスラーム王朝について質問で...
-
エクセルでグラフタイトルが折...
-
Excel2007のグラフ なぜデータ...
-
たくさん作った同じ設定のグラ...
-
パワーポイントに貼り付けたエ...
-
エクセルで片対数グラフを作る
-
パワーポイントの折れ線グラフ...
-
エクセルでグラフのコピー(書...
-
xyグラフ
-
EXCELのグラフをPDFに変換する方法
-
Mac Excelです。 グラフを作っ...
-
手書きの図形やグラフをソフト...
-
EXCEL・複数ある円グラフの円の...
-
numbersでグラフを作成した場合
-
エクセルで片対数グラフを書き...
-
エクセル(Excel)の目盛りの一...
-
【Excel】リストボックスからの...
-
グラフのパーセント表示
-
matlabのグラフをpowerpointに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでグラフタイトルが折...
-
たくさん作った同じ設定のグラ...
-
エクセルにおける、グラフの指...
-
EXCEL・複数ある円グラフの円の...
-
エクセルグラフの一括設定。
-
パワーポイントに貼り付けたエ...
-
イラレのグラフがグループ解除...
-
~エクセル~円グラフのみを抽...
-
エクセル(Excel)の目盛りの一...
-
エクセルグラフの数値軸(Y)の...
-
エクセルのグラフの一部拡大
-
excel2010 グラフエリアの外の...
-
エクセル:ぴったり重なった後...
-
EXCELでの棒グラフの太さについて
-
エクセルで作業ごとの時間をグ...
-
エクセルのグラフが作成した通...
-
Wordでレポートを作っています...
-
EXCELで海の潮見表(タイドグラ...
-
excelレーダーチャートの重なり...
-
【Excel2007】グラフ線太さのデ...
おすすめ情報