• ベストアンサー

エクセルのグラフを不動化したいのですが。

エクセル2010で毎月の結果を表に入力する度にグラフ化しているのですが、入力表が大きくなって画面をスクロールしてもグラフが同じ場所に表示されるようにしたいのですが、どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8626/18448)
回答No.4

#1 & #2 & #3です。 それではグラフが複数個の場合に,スクロールすると,縦位置は最上部に,横位置は左から順に並ぶようになるように改造してみました。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) w = 0 For i = 1 To ActiveSheet.ChartObjects.count With ActiveSheet.ChartObjects(i) .Top = ActiveWindow.VisibleRange.Top .Left = ActiveWindow.VisibleRange.Left + w w = w + .Width End With Next i End Sub 適当に改造すれば,好きなように動かせますよ。

akira0723
質問者

お礼

何度も何度も丁寧に教えて頂き、何とかできそうです。 大変助かりました。 また宜しくお願いします。??

akira0723
質問者

補足

今度は1発で出来ました!! 左からの位置もwの値で変えられることを確認しました。 すごいですね!! 何度もお手数をお掛けしました。 色々な表で使用させて頂きます。 「by f272」とシートに記載したいくらいです。 後は少しずつレイアウトの改善を試してみます。

その他の回答 (3)

  • f272
  • ベストアンサー率46% (8626/18448)
回答No.3

#1 & #2です。 1. ワークシートを開いた状態で[ Alt ] + [ F11 ]キーを押します。 2. VBEの画面が起動します。 3. 左側のMicrosoft Excel Objectsのところから,グラフのあるシートをダブルクリックで選択します。 4. 右側に白紙のスペースが表示されます。 5. コンボボックス(Generalと書いてある方)をクリックして「WorkSheet」を選択します。 6. 下の白紙にプロシージャSelectionChangeが自動で作成されます。 7. #2に書いたマクロを記述してください 8. これで終了です。VBEからエクセルシートに画面を戻して,通常の作業を行ってください。

akira0723
質問者

補足

はい!!! うまく行きました。 これは色んな表に使えそうです。感謝!! が、新たな問題が。。。 (1)グラフが複数個有った場合は、難しいのでしょうか? (2)グラフが移動してくる場所が左上の隅なのですが、場所を指定するのは難しいのでしょうか? 当方には無理なようならここまでにします。 この状態でも使えるシートもあるので助かるのですが、出来れば上記の解決策をお願いします。 4回目のお手数をおかけすることになるので心ぐるしいのですが。。。 だんだん欲が出てきて申し訳ありません。

  • f272
  • ベストアンサー率46% (8626/18448)
回答No.2

それではグラフのあるシートのシートマクロとして Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet.ChartObjects(1) .Top = ActiveWindow.VisibleRange.Top + 5 .Left = ActiveWindow.VisibleRange.Left + 5 End With End Sub を記述しておいてください。グラフは1つだけと仮定していて,アクティブセルが変更されたときに動きます。PageUpまたはPageDownでスクロールするならすぐに動きますが,マウスでスクロールバーを動かしたり,マウスホイールでスクロールするなら,スクロール後にどこかのセルをクリックしてください。

akira0723
質問者

補足

2度の対応に感謝いたします。 当方のやりたいことの回答だと思うのですが、情けないことに当方マクロは昔何度か使っただけで既に記憶が無く、上の手順が分かりません。 使った名残りでツールタブに「開発」その中に「マクロの記録」というメニューまでは出ている状況です。 お手数をおかけしますが、出来れば手順を教えて頂けないでしょうか?

  • f272
  • ベストアンサー率46% (8626/18448)
回答No.1

画面を上下に分割して,グラフは上に描く。スクロールは下で行う。 別案としては,グラフをグラフシートにしておくというのもあります。

akira0723
質問者

補足

早々のご回答ありがとうございます。 上記の方法は2つとも今やっている方法です。 以前エクセルを使用した説明の時にシートをスクロールしてもグラフが浮いたような状態で同じ位置に表示されていたのを見た気がするのでその方法を知りたいのですが。 グラフが画面の2/3以上を占める感じなので改善策を探しています。

関連するQ&A