• ベストアンサー

EXCELlのマクロで図を操作するには

ペイントで作成した図をExcel画面にコピーして、マクロで操作(移動など)しようとしてもできません。マクロの記録を見ると、図をクリックしても記録されておらず、クリックしたセル(A5、B3など)しか記録されていません。どうしたらできるでしょうか?

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

  • ベストアンサー
  • z1rcom
  • ベストアンサー率57% (11/19)
回答No.1

VistaなのでExcel2007をお使いですね。 2003まででは図形の移動も記録できたのですが、2007はどうしても記録できません。不便ですが手動で入力するしかありません。 図形を「正方形/長方形 1」とします。 図形の場所を、今の場所から上下左右に動かすには次のようにします。 Sub 上下に動かす() ActiveSheet.Shapes("正方形/長方形 1").IncrementTop 10 '「10」を適当な数字に変更してください。プラスの数字なら下、マイナスの数字なら上に移動します。 End Sub Sub 左右に動かす() ActiveSheet.Shapes("正方形/長方形 1").IncrementLeft 10 '「10」を適当な数字に変更してください。プラスの数字なら右、マイナスの数字なら左に移動します。 End Sub 図形の場所を、セルのA1やB3などのように場所を指定して動かすには次のようにします。 Sub セルを基準に動かす() ActiveSheet.Shapes("正方形/長方形 1").Top = Range("B6").Top ActiveSheet.Shapes("正方形/長方形 1").Left = Range("B6").Left '2つある「B6」を適当なセル番地に変更してください。 End Sub

perogou
質問者

補足

「図形を「正方形/長方形 1」とします」とありますが、マクロの記録で図形をクリックしても名前付けができません。どうしたらShapes("写真1")などと名前がつけれるのでしょうか?

その他の回答 (2)

  • z1rcom
  • ベストアンサー率57% (11/19)
回答No.3

私はNO.1、NO.2の回答者です。 そうですか。でもコピーできなくても Activesheet.shapes("図1").IncrementLeft 10 というように、直接 " と " の間に入力するだけでいいんですよ それでもできませんか? もう一つ、名前ボックスは右クリックしてもメニューが表示されないのでコピー出来ないと勘違いされているかもしれませんが、ボックスをクリックで選択したあと、キーボードのCtrlキーを押しながらCキーを押すことでコピー出来るのはご存知でしょうか。 それでも名前ボックスに異常がある場合は、ブックを作り直してみることをおすすめします。

perogou
質問者

お礼

ばんざーい できました。どうもありがとうございました。Ctrl + Cキーでコピーできることも初めて知りました。ご親切にご教授いただきほんとにありがとうございました。これからもどうぞよろしくお願いいたします。

  • z1rcom
  • ベストアンサー率57% (11/19)
回答No.2

私はNO.1の回答者です。 図に名前をつけるには、画面の左上の方にある「名前ボックス」を使います。 画像を参照していただければお分かりになると思います。 図には初めから名前がついているので、名前ボックスの文字をコピーして使っても良いと思います。

perogou
質問者

補足

すみません、左上の「名前ボックス」はありましたが クリックしてコピーしようとしてもコピーできないのでマクロの記述に貼り付けできません。どうしたら?

関連するQ&A