• ベストアンサー

VBA シート上のオートシェイプを移動させたくない

お世話になります。 シート上にオートシェイプ(四角形)をつくり、 名前を付けています。 予定1、予定2…実際1、実際2・・・ これを指定のセルから移動させたくないと思っています。 また、マクロの登録をして、ボタンにしようと思っています。 ただ、シートは保護をかけようと思っており、 オートシェイプがロックのままだと、ボタン機能が使えなくなります。 かといって、ロックを外すと移動できてしまうし… 何か変わりの方法はありませんか? 私の知識不足で、他のいい方法を見逃しているのかもしれません! 回答お願い致しますorz

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

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

(1)オートシェイプの作成 (2)オートシェイプを選択後、Altキーを押しながらセルの大きさに移動・サイズ設定 (3)対象のシェイプを右クリックから「サイズとプロパティ」 (4)プロパティタブのオブジェクトの位置関係で「移動をするがサイズ変更をしない」を選択 (5)ロックにチェックを入れる (6)シートを保護  ・ロックされたセル範囲の選択  ・ロックされていないセル範囲の選択 で登録したボタンの機能は利用できます。

satoron666
質問者

お礼

回答ありがとうございます。 私の質問に何度か答えてくださってますよね? ありがとうございます! おかげで希望通りの事ができました!ありがとうございます^^

関連するQ&A

  • ExcelVBA オートシェイプについて

    セルの選択した場所のとなりにオートシェイプを移動させるマクロを組みたいと思っています 見かけがまったく同じシートが4枚あり、そのシート全てに同じマクロを指定したいのですが、オートシェイプの名前の指定の仕方が分からなく困っています SelectionChangeイベントでオートシェイプ移動のマクロを動かしているので、同じ名前のボタンならよいのですが・・・ なにかよい方法はないでしょうか?

  • エクセル:シートの全コピー貼り付けでオートシェイプを除いて実行

    エクセルのシート(Cells)の全データをコピー&(別のシートへ)貼りつける(マクロを使用して貼りつけています)とき、「オートシェイプ」だけを除いた全データを貼り付けることは可能でしょうか? そのオートシェイプはマクロボタンとしているのですが、マクロを実行するたびにオートシェイプの貼付けが繰替えされるため、どんどん重なっていくのを防ぎたいのです。よろしくご指導ください。 ※このオートシェイプの貼付の繰返しによりファイルが重くなることはないでしょうか?ないのなら無視してもよいかとは思っています。

  • 【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい

    ワークシートに多数(60個程度)のオートシェイプが配置されています。それらにはひとつひとつ「名前」をつけています。(オートシェイプ1とかを1日とかに変更しました) これらのオートシェイプをボタン代わりにマクロを割り当てて実行しようとしています。 そこで、例えば”1日”と名前を定義したオートシェイプがクリックされた時にその名前”1日”を取得する方法が解りません。 説明が下手でうまく伝わっているか心配ですがよろしくお願いします。

  • VBAでこのような図形の移動はできますか?

    シート上にあるオートシェイプの図形を、コマンドボタンを押すと「○cm下へ△秒間かけて移動させる」とか「回転させる」というマクロはできますでしょうか? どなたか教えてくださいませんか?よろしくお願いします。

  • excel VBA オートシェイプのテキスト段落

    おはようございます。 【オートシェイプ内のテキスト行間を指定するプロパティ】 オートシェイプ内のテキスト行間を指定するプロパティはありますでしょうか? excel 2007で オートシェイプにテキストをいれた場合、 右クリックすると「段落」という項目がでてきて、 オートシェイプ内のテキストの行間を指定できたのですが、 オートシェイプ内のテキストの行間をVBAで指定することはできるのでしょか? (マクロを登録してもなにも記述されていないので、困っています。) 最終的にはアクティブブックの全シートのオートシェイプの行間を変更する VBAにしたいと思っています。 参考URL等あれば教えていただけませんでしょうか? よろしくお願いいたします。

  • エクセルVBAで直線図形(オートシェイプ)を書きたいのですが。

    エクセルVBAで直線図形(オートシェイプ)を書きたいのですが。座標の指定方法がいまひとつ分かりません。 マクロの記録で、座標数値の設定は分かるのですが、セルに対しての指定方法が分かりません。 図形をドラッグ指定したA1セルからC1セルまで直線を書きたいのです。セルへの始点終点の指定方法が有るのでしょうか。

  • エクセル:VBAでシート上のオートシェイプ以外の図形を消去したい。

    お世話になります。 ★VBAでシート上のオートシェイプ以外の図形を消去したいのです。 No.1902175で、エクセルシート上の図形の削除方法をいろいろ教えていただきました。今回は、そのときにはあてはまらなかった、「オートシェイプをのぞく図形をVBAで削除したい」のです。 補足:シートは毎月のある行事等の予定表です。オートシェイプにはマクロを登録しているため消したくありません。その他の図は季節の行事に関するクリップボード等の図で、担当者がシートから毎月手作業で削除していたものです 以上、よろしくお願いいたします。

  • excel2003 シート移動のショートカットキー

    すいません教えてください 通常、シート移動はCtrl+PageUpまたはCtrl+PageDnでできるとおもうのですが シート保護をするとショートカットキーでのシート移動ができなくなりました。 シート保護の際は 「シートとロックされたセルの内容を保護する」 「ロックされていないセル範囲の選択」 この2つしかチェックを入れてません 他者が使用する為、シート保護をかけた状態でなおかつ自分が使用するときにはシート移動を マクロやハイパーリンクを使わずにショートカットキーだけで移動したいのですが元々こういう設定なのでしょうか? 解決方法があれば教えてください。 以上、よろしくお願いします!

  • 特定のオートシェイプだけ削除するVBA

    エクセルで一枚のシートに複数のオートシェイプを使用したものがあります。 オートシェイプを使用しているセルの範囲は (A1:L22)と(M1:U22)の二箇所なのですが、 VBAで(A1:L22)の範囲にあるオートシェイプのみ削除する事は可能でしょうか? (A1:L22)内のオートシェイプは作業内容により毎回変わるので 形などは特定できません。 また、オブジェクトの選択で範囲指定をした後削除という方法もあるのですが この削除の作業の前後に他の作業のVBAを使用しているので VBAで削除が出来ればと思います。 よろしくお願いします。

  • オートシェイプ削除について教えて下さい。

    こんばんわ! エクセル2003を使用してます。 ・オートシェイプを削除するのに、一つ一つ選んでDelateしてます。 数が多いと、消すのが大変です。 (質問) ・オートシェイプの数が多数(100個程)書かれている場合、一気に消す事は可能でしょうか? ・セルを指定して、一気に消す事は可能でしょうか? (例) シート1 A3:A6とA8にオートシェイプがあります。 A3:A6のオートシェイプだけを、一気に消したいのですが、このような事、できますか? どなたか、教えて頂けませんか? よろしくお願いします。

専門家に質問してみよう