プロが教えるわが家の防犯対策術!

エクセルのグラフを保存し、次回開いたときにグラフの大きさと位置が変わります。複数のグラフの大きさと位置をそろえても毎回開いた後、多少(目立つほど)のズレがあるのはどうしてでしょうか。大きさも位置も固定したいのですが、何か方法を教えてください。

A 回答 (2件)

回答番号1の返信です。


VBAを使用する為次の要領で操作を行ってください。
キーボードの[ALT]を押しながら[F11]を押してMicrosoft Visual Basicを起動します。
メニュー「挿入」から「標準モジュール」を選択して下さい。
Option Explicitと書かれた白紙の画面が出ますので
先の回答に記述した「グラフ情報取得」をコピペし次の状態にしてください。
Option Explicit
Sub グラフ情報取得()
Dim G_Top, G_Left, G_Width, G_Height
With ActiveSheet.Shapes("グラフ 1")
G_Top = .Top
G_Left = .Left
G_Width = .Width
G_Height = .Height
End With
MsgBox ("Top:" & G_Top & Chr(13) & "Left:" & G_Left & Chr(13) & "Width:" & G_Width & Chr(13) & "Height:" & G_Height)
End Sub
次に画面左にある「プロジェクト-VBAProject」の中にある「ThisWorkbook」をWダブルクリックしてください。
(プロジェクト-VBAProjectが表示されていないときはキーボード[Ctrl]を押しながら[R]を押すと表示されます。)
またOption Explicitと書かれた白紙の状態になります。
そこに先程同様以下のようにしてください。
Option Explicit
Private Sub Workbook_Open()
With ActiveSheet.Shapes("グラフ 1")
.Top = 200
.Left = 100
.Width = 150
.Height = 400
End With
End Sub
上記コードの中で"グラフ1"となっている部分は調べたいグラフの名前です。
とりあえずタスクバーよりエクセルの画面に戻ってください。
情報を取得したいグラフをクリックすると画面左の名前ボックスにグラフの名称が表示されます。
表示されたグラフの名称をドラッグで全選択しキーボード[Ctrl]を押しながら[C]を押してください。
タスクバーよりMicrosoft Visual Basicの画面に移動してください。
メニュー「編集」より「置換」を選択して下さい。
「検索する文字列」となっているところの右にあるコンボボックスに「グラフ1」(全て全角)と入力し「置換後の文字列」となっているところの右にあるコンボボックスをクリックしキーボード[CTRL]を押しながら[V]を押してください。
やや左下に「対象」となっている部分は「カレントプロジェクト」を選択し「すべて置換」をクリックしてください。
置換の画面を閉じていただき、Microsoft Visual Basicの画面も閉じてください。
エクセルの画面に戻ったらキーボード[ALT]を押しながら[F8]を押しマクロ名に「グラフ情報取得」となっていれば「実行」をクリックしてください。
(なっていなければその下にあると思うのでクリックで選択して下さい。)
以上の操作で情報を取得したいグラフの位置・大きさを示す項目が4つ表示されます。
    • good
    • 0

その状態になった事が無い為正しい解答ではないかもしれませんが。


グラフの位置を揃えた時点で次のコードを実行。
Sub グラフ情報取得()
Dim G_Top, G_Left, G_Width, G_Height
With ActiveSheet.Shapes("グラフ 1")
G_Top = .Top
G_Left = .Left
G_Width = .Width
G_Height = .Height
End With
MsgBox ("Top:" & G_Top & Chr(13) & "Left:" & G_Left & Chr(13) & "Width:" & G_Width & Chr(13) & "Height:" & G_Height)
End Sub

グラフの位置・大きさが表示されますのでとりあえずメモします。
次に
Private Sub Workbook_Open()
With ActiveSheet.Shapes("グラフ 1")
.Top = 200
.Left = 100
.Width = 150
.Height = 400
End With
End Sub
↑の数字部分を先程のメモ書きに変える。
複数グラフがある場合はグラフ名を変更し情報を取得
Workbook_OpenにWITH~End Withを追加していく。
毎回グラフの大きさを変更しなければならない場合は
情報取得の応用で行けると思います。

この回答への補足

グラフ情報の取得というのは、どうしたら見られるのでしょうか?

補足日時:2009/12/02 08:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!