• ベストアンサー

Imageコントロールにグラフを表示させるには

ARCの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

もし、イメージコントロールを使うなら、クリップボードを経由してコピー&ペーストするようなコードが要るでしょう。(クリップボード関係のAPIを使う) でも、イメージコントロールにはとらわれない方がいいですね。 それよりも、VBのフォームに「Microsoft Excel グラフ」オブジェクトを貼り付ける方が作りやすいと思います。 このオブジェクトの扱いについては、ExcelのヘルプのChartObjectの項目あたりに書いてあると思います。 (このオブジェクトを操作すれば、グラフ作成のすべての工程をVBAで記述できると思います。(実際に試したわけではないです。)

mygsk
質問者

お礼

ありがとうございます。 できればVBAのみでやりたいのです。clipbord, APIに関しては参考にさせていただきます。

関連するQ&A

  • 【Excel】リストボックスからのグラフ表示方法

    教えてください! 今、フォームで表示されたリストボックスから一つ項目を選択し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 ------------------------------------------------- 困っています。 教えてください。宜しくお願いいたします。

  • ユーザーフォームでのグラフ表示

    今,エクセルのユーザーフォームでグラフを表示させたいのですが,うまくいきません. ユーザーフォームを作成しているブックとは違うブックのシート1にデータ,このデータを使用してsheet2にグラフを作成しています.このグラフを違うブックで作成しているユーザーフォームで表示させたいのです. 今,組んでいるマクロは以下のようになっています. Sub point1() openfilename = "1F-1.xls" folderpath = "G:\関電営業所\相生営業所\20110928 関電相生営業所収集データ\おんとり\text\Excel\" Ofilenamepath = folderpath & openfilename Workbooks(openfilename).Worksheets(2).ChartObjects(1).Chart.Export ThisWorkbook.Path & "\Chart1.gif" UserForm1.Image1.Picture = LoadPicture(Ofilenamepath & "\Chart1.gif") UserForm1.Show End Sub 上から5行目のところでエラーが出てしまいます. エラーは「オブジェクトが不正です」とでます. どなたか解決方法を教えてください。

  • Image or Pictureコントロールについて

    VB6でImageコントロールとPictureコントロールを使って簡単なアニメーションを作っている最中に以下の事を気づきました。 Pictureコントロールの場合、背景色がBackgroundColorなのに対し、作成した画像が透過GIFの為かImageコントロールは画像の部分だけ表示されて、後ろの画像に溶け込んだように表示されます。 機能面ではPictureコントロールの方が上(Imageコントロールに無い機能は何かは知りませんが)のような気がしたのですが、この場合の見た目はImageコントロールの方が良いのですが、本来こういうものでしょうか? ちなみにVB.NETはどうなっているのでしょうか?

  • Imageコントロール vba

    Imageコントロールをsheetに直接はりました。 sheetにはったイメージをExcelを開いたときにリンク先のものに変えたいです。 Image1_Click()を使えばクリックすると切り替えることができます。 Image1.Picture = LoadPicture("C:\イメージ.bmp") クリックせずにExcelをひらくと「イメージ.bmp」を参照して画像が変わるようにしたいのですが、どうしたらよいでしょうか。

  • エクセルのプログラムでイメージコントロールで表示した画像のサイズを変更したり移動する方法

    エクセルでまずユーザーフォーム、イメージコントロール、コンボボックス(サイズ変更)、スクロールバー(表示位置)を作り、 Set イメージ.Picture = Load Picture("C\xxx.xxx") というようにイメージコンロールに画像を表示させ、イメージコントロールのサイズや位置を変えることなくその中にある画像の部分のみサイズや表示位置を変えたいのですがどのようにすればよいのでしょうか? MoveメソッドやPictureSizeModeを使うとイメージコントロール自体が変わってしまいます。 回答よろしくお願いします。

  • VBA フォームでチャートグラフ作成 Excel

    Excel2003を使用しています。 フォームのコントロール(ChartSpace)Microsoft Office Chart 11.0 を利用することにしました。 これを利用し、UserForm1にチャートグラフを作成したいと考えています。 データがあるシートを参照し、グラフを作成し、 フォーム上に表示したいです。 複数のグラフを表示する方法も教えて頂けるとありがたいです。 よろしくお願い致します。

  • コントロールの挿入と同時に画像を表示する方法

    アクティブエックスコントロールのイメージコントロールの設置と同時に、 画像をそのコントロールに表示するvbaを作ってるのですが、 実行時エラー438が発生します。 Sub test() Dim objOLE As OLEObject Set objOLE = ActiveSheet.OLEObjects.Add("Forms.Image.1") With objOLE .Name = "Image" .Picture = LoadPicture("C:\1.gif") End With End Sub C:\1.gifのパスをブラウザで表示させることはできるので、ファイルは存在しているし、 パスは間違っていません。 .Picture = LoadPicture("C:\1.gif") をコメントアウトすれば正常にコントロールが挿入されます。 コントロールの挿入と同時に画像を表示する方法を教えてください。 ご回答よろしくお願いします。

  • エクセルでもgif画像を背景を透明にして表示させる

    アクセスのフォームにイメージコントロールを設置して、gifイメージを静止画で挿入した際は、 画像に背景色がついていても透明で表示されるのですが エクセルにイメージコントロールを設置して、 同じgif画像を表示させると背景の色がついてしまいます。 エクセルでもgif画像を背景を透明にして表示させるには どうすればいいでしょうか?

  • エクセルで貼り付けたオブジェクトの画像をユーザーフォームのイメージコントロールで表示する方法

    エクセルで画像をオブジェクトで作り、ユーザーフォームに作ったイメージコントロールに表示する方法はないでしょうか? 条件によってイメージの画像が切り替わるようにしたいのですが。 別の画像ファイルから読み出すことはあまりしたくありません。あくまでエクセルの中にある画像からフォームのイメージに表示したいのですが。何かいい方法があれば教えてください。 回答よろしくお願いします。

  • エクセルのシート中のデーターをMSchartでグラフ表示したい

    エクセルを使うのだったらそのままグラフを表示させればよい。 と思われる方が多いだろうと思いながら質問させていただきます。 エクセル上でフォームを作成し、その上へMSchartコントロールを貼り付けます。 そして、現在アクティブになっているシートのA1~A20のデーターをもとにグラフを表示させたいと思っています。 この時、A1~A20のデーターを直接MSchartで読み込む方法がありますでしょうか。 よろしくお願いいたします。