• 締切済み

【Excel】別シートへのグラフの作成について

こんにちわ。 マクロ初心者ですが、教えてください! 以下のような内容のマクロを作成しています。 1.マクロを使用しグラフを作成します。 2.作ったグラフをsheet2へ移動します。 3.sheet2でグラフを確認した後は削除します。 といった上記の操作を何度も繰り返し行います。 1.の記述は出来たのですが、移動し、削除し、しかもそれを何度も繰り返し行うというのができません。 結果的にはリストボックスから担当者を選択すると、その担当者の担当した内容が別シートの集計表に基づき円グラフとなって表示され、内容を視覚的に確認することが出来るようにしたいのです。 困っています。 宜しくお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

Sheet1にデータA1:C5 a 123 34 b 23 67 c 45 89 d 67 34 e 29 54 あるとします。もっと多列で結構です。 Sheet1にボタンを1つ貼り付け、そのクリックイベントに Private Sub CommandButton1_Click() Worksheets("sheet1").Select rng = InputBox("グラフ範囲=", 8) 'Range("A1:B5").Select Charts.Add ActiveChart.ChartType = xlPie ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(rng), PlotBy:= _ xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet2" ActiveChart.HasTitle = False ans = InputBox("消しますか") If ans = "y" Then ActiveWindow.Visible = False Selection.Delete Worksheets("Sheet1").Select End If End Sub ボタンをクリックするとグラフ範囲を聞いてくるから A1:A5,C1:C5のように入力するとグラフがSheet2に出てきて、問い合わせのインプットボックスが出る。2つの範囲はカンマで区切って入れること。 グラフを見て後yを入れると、グラフが消えて、Sheet1に戻ります。 ボタンをクリックして次のグラフを表示させることを 繰り返します。 ちょっと腑に落ちない点があるが、やってみてください。

froma_a
質問者

お礼

結構難しいですよね… 色々と考えて頂き、ありがとうございました。

関連するQ&A

  • シートの保護、グラフ作成

    お世話になります。 Excelでアンケートの集計をしています。 別のシートに集計データを参照しました。そこにマクロの記録で、グラフを作成するマクロを作成しました。また、このマクロを登録したボタンを配置しています。 このシートに、「シートの保護」を設定しました。 その後、マクロボタンをクリックすると別添のメッセージが表示され、グラフは作成できません。 確かに、「挿入」タブのリボンは、グレーアウトしています。 「シートの保護」を設定した後も、ボタンからグラフを作成する方法はないでしょうか。 よろしくお願いします。 エラーメッセージ 「実行時エラー”1004”」 「指定された値は境界を超えています。」 OS: Windows 7 professional SP-1 32Bit Office: 2010 Professional 32Bit

  • マクロ グラフのオブジェクトについて

    いつも回答ありがとうございます。 繰り返し記述でグラフの表を10~20程作成するマクロが完成しましたが、シートをいちいち切り替えていかないと全てが確認出来ない為、一覧シートを別に作り、この一覧シート上にまとめようかなと思っています。この一覧へまとめる記述を完成済みの繰り返し記述中へ組み込むことは可能なのでしょうか? 例えば、一つのシート上に、横に3つグラフを貼り付けたら、下に移動して又、横に3つグラフを貼り付ける、これを繰り返すみたいな。 やっぱり、一つ一つ切り取って貼り付けての作業を記述しないといけないのでしょうか?御回答お待ちしております。

  • 非アクティブシートでのグラフ作成方法について

    VBAを使ってアクティブなっていないシートのセルを参照したグラフを 作成したいと思っているのですが、可能でしょうか? また、軸の最少最大値などのグラフの設定を同様に変更することは可能でしょうか? 例 シート1がアクティブになっているときに、 シート2のA1~B5のデータでグラフを作成する。 この時、シート2をアクティブにせずにグラフを作成したい。 さらにシート2をアクティブにせずにグラフの書式等を設定したい。 アクティブになっているシートでグラフを作成するのは マクロで記録した物をいじくれば問題なく作れると思いますが、 グラフを複数のシートで作成する必要があり、 画面が一々切り替わるのはちょっと・・・と思い、 できればボタンを押して別のシートに移らずにグラフを作成したいのです。

  • 【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 ------------------------------------------------- 困っています。 教えてください。宜しくお願いいたします。

  • Excel2007でグラフ作成したが、貼付け方は?

    Excel2007で作成できたグラフを、別Excelシートに貼り付ける方法を教えてください。 【挿入】→ 【グラフ】リボンで作成できました。 【デザイン】→【グラフの移動】 この後がわかりません。宜しく願います。

  • シート間のグラフスケールを合わせる

    エクセルでマクロを作成してますが、分からないので教えてください。 「まとめ」というシートに"まとめ"という名称のグラフがあり、 「(1)」というシートに"グラフ1"という名称のグラフがあります。 この別々のシートにある2つのグラフはY軸の尺度が違っています。 そこで、"グラフ1"のY軸の尺度(最小値・最大値・目盛間隔・補助目盛間隔)を グラフ"まとめ"にそのまま移し変更するマクロを考えています。 すみませんが宜しくお願い致します。

  • エクセルのマクロで同じサイズの複数のグラフを整列して作成する方法

    エクセルで商品毎の販売量推移の散布図を複数作成し、それぞれのグラフを比較する等して販売活動の参考にしているのですが、対象となる商品の数が増えてきたので比較作業が大変になりました。一つのシートに比較邸小さな同じサイズのグラフを作成し、きちんと並べることができれば、作業が大変楽になると思っています。勿論、シートをスクロールしてグラフを見る前提です。 そこで、「新しいマクロの記録」でコードを作成してみたのですが、次の点がわからず困っています。ご指導の程よろしくお願い致します。 1.グラフを作成する際、最初からサイズを指定する方法 「新しいマクロの記録」では、一度作成したグラフのサイズを縮小する内容※になっていますが、これを最初からサイズ指定する方法があるのでしょうか? ※ ActiveSheet.Shapes("グラフ 103").ScaleWidth 0.48, msoFalse, msoScaleFromTopLeft 2.移動する際のグラフの名前?の指定方法 名前が分からないのでグラフを移動しようと思ってもグラフを指定することができないので困っています。上の例では名前が自動付与されて"グラフ 103"になっていますが、作成したグラフを消去してもグラフを作成するたびに数字が増えてしまうので、作成時に指定する方法を知りたいのです。サイズを指定する数値の単位は下記の移動に使用する単位と同じであれば助かります。 3.グラフの移動方法 「新しいマクロの記録」では下記のように相対的な数字がポイントで指定するようになっていました。 ActiveSheet.Shapes("グラフ 103").IncrementLeft 4.5 ActiveSheet.Shapes("グラフ 103").IncrementTop 43.5 これでは、複数のグラフを整列させることは難しいので、適当な移動方法はないでしょうか? 以上よろしくお願い致します。

  • Excel2002 について教えて下さい(グラフ

    Excel2002で、シート全体をグラフ領域として作成しました ここにコントロールツールボックスのボタンを置きたいのですが ボタンが使用不可の状態です グラフ上にはコントロールを置けないのですか 方法があったら教えてください また、コントロールでなくてもいいのですが ボタンのようにVBAを起動できる方法があったら教えてください

  • 集計表、グラフの作成について

    いつもお世話になっております。 AccessのDBからの集計表、グラフの作成につてお聞きしたいです。 AccessでEXCELのような集計表を作る場合、クロス集計クエリかピボットテーブルを使用するかと思うのですが、こういった表の体裁は変更がききませんよね? 例えば会議で使うグラフや表の資料を作成する場合、AccessのDBのほうから必要なデータ(ある程度集計抽出したデータ)をエクスポートしてEXCELのピボットテーブルで表を作成し、このデータを別シートにコピーして表の体裁の変更やグラフの作成をしています。 内容によっては結構時間がかかるので、表を作成するのに何か効率の良い方法はないでしょうか?

  • 別ブックへのグラフの移動について(excel)

    いつもお世話になっております。 excelについて詳しい方、教えていただけると嬉しいです。 グラフとグラフの元データを別々のブックで作成してしまいました(シートが別ではなく、ファイル自体が別です)。 この場合、例えば、グラフの元データのブックだけ他のPCに移したら、グラフは上手く反映されなくなってしまうのでしょうか。 ↑もし、そうだった場合、グラフのシートを元データのあるブックにシート移動&コピーしようと思っているのですが、問題なくできるでしょうか。 本来は同じブック内で作ったほうがよかったんですよね。。。知識が足らず、別ファイルで作ってしまいました。 お時間ある時に教えていただけると幸いです!

専門家に質問してみよう