• 締切済み

エクセルのシート上のマクロボタン

エクセルのシートに貼り付けたマクロボタンを、シートのスクロールにかかわらず、位置を変えないようにしたいのですが、どうすればよいのでしょうか。ボタンの順序の背面とか前面とかの指定がその目的かと思ったんですが・・・

みんなの回答

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

>SelectionChangeとWorkSheetActivateの両方に貼り付けてみましたところ 私の回答はSelectionChangeイベントProcだけです。 両方にやらないで下さい。 もう一度私が解答コードををコピーしてやって見ましたが、エラーはでず、動きも予想どおりでした。 旨く行かず、原因が判らないようでしたら、回答はないものとしてください。

miwaki
質問者

お礼

ありがとうございます。 エクセルのバージョンの違いの所為ではないでしょうか。私のエクセルは、2002です。

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

これが正統な回答かどうか分ちませんが 例えばSheet1のSelectionChangeイベントを下記とする。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Worksheets("sheet1").CommandButton1.Top = Rows(ActiveWindow.ScrollRow).Top + 2 End Sub 画面がスクロールされても、いつも右上に現れています。 上例ではシートにコマンドボタンを1つ}貼りつけ、 ツール-マクロ-VBEでVBEの画面になる。VBAProjectのSheet1をダブルクリックするとVBE画面になり、GeneralをWorksheet、DeclarationをSelectionChangeを選ぶ。 そして上記中間1行を貼りつける。 デザインモードを脱して、シートに戻る。 シート内の上下のアクチブセルの移動に対してはいつもボタンは右上に現れている。

miwaki
質問者

補足

仰せの通り、ご指導いただいたコマンドをSelectionChangeとWorkSheetActivateの両方に貼り付けてみましたところ、どちらで実行時エラー438で「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」というエラーメッセージが出ました。

  • taocat
  • ベストアンサー率61% (191/310)
回答No.3

  汎用性を求めるのであれば ボタンを配置したUserFormをモードレス で利用するすることをお奨めします。  

miwaki
質問者

お礼

モードレスで利用とは具体的にどうすればよいのでしょうか

  • taranko
  • ベストアンサー率21% (516/2403)
回答No.2

ボタンの順序の背面や前面というのは、画像やボタン等が どちらが手前に表示されるかというものです。 貼りつけたのが後の物ほど手前に表示されるのですが その順番を変えたいときに使用します。 例:画像の中にボタンを作り、後で画像を他のものに 変更すると画像が手前にきてボタンが消えます。 そのような時に画像を後にしてボタンを見えるように したりします。 スクロールしてもボタンの位置をそのままにする方法 ですが、お望みのものとは違うとは思いますが、 ボタンを一番上や左端に作成し、ウインドウ枠の 固定をすると上下のみや左右のみの移動の場合 ボタンが表示されたままということはできます。

miwaki
質問者

お礼

ありがとうございました。やはりこれしか方法はないのでしょうか。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

アクセスなら可能だと思いますが、エクセルではできないかと... ツールバーに登録する形なら可能です。 こちらなら「表示」「ツールバー」「ユーザー設定」で まず新規ツールバーを作成、ここにコマンドからマクロボタンをドラッグして追加 ボタンを右クリックしてマクロの登録になります。 ボタンは状態に応じて、文字列か絵を選択表示してください。

miwaki
質問者

お礼

ありがとうございました。やはりこれしか方法はないのでしょうか。

関連するQ&A

  • エクセルのマクロボタンが編集できません

    タイトルの通り、マクロをリンクさせたボタンが編集不可能になりました。 シート上の位置を移動させたいのですが、右クリックがききません。 印刷シートを手直ししてボタンの位置がじゃまになってしまいました。参照関係の確認が面倒なのでできれば現在のシートを使いたいのですが、手だてをお教えください。 左クリックでマクロは動きますし、新たにマクロボタンを書いてもそれは問題なく編集できます。よろしくお願いします。 EXCEL2002です。

  • excelシートにマクロ実行ボタンを何個か置いて、実行ボタンを押したら指定フォルダ内の...

    excelシートにマクロ実行ボタンを何個か置いて、実行ボタンを押したら指定フォルダ内excelシート,accessシート等を開くプログラム教えてぇ~ ください^^

  • 指定のシートにジャンプするエクセルのマクロ

    指定のシートにジャンプする、エクセルのマクロの組み方を教えてください。 シートが100近くあり、「更新」という名前のシートに移動するのが大変手間がかかって困っています。 Ctrボタン+jボタンで「更新」シートに移動するマクロをお願いいたします。 エクセルは2003です。

  • マクロ 各シートからシート1に戻るボタンを設置する

    各シートの同じ位置に「シート1に戻る」ボタンを付けるマクロを実行したいです。 前回教えていただいたことから、ボタンを設置するマクロはわかったのですが、 『2枚目以降のシートから、シートが終わるまで、各シートにボタンを設置する』マクロがわかりません。 1枚目は目次?的なページですので、 2枚目以降から、シートが終わるまで、決められた位置に「戻る」ボタンをつける。 という作業をマクロに記憶させたいと考えています。 ※下記は、こちらで教えていただいたものを参考にしたマクロです。 「戻る」という言葉をどこに入れてよいかもわからりません。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・ Sub 戻るボタン設置() With ActiveSheet For i = 1 '幅140、高さ20のボタンを追加 .Buttons.Add(145 * i, 120, 140, 20).Text = i Next i End With End Sub

  • エクセルのシート保護をマクロのボタンで

    ご教示下さい。 エクセルでのシート保護の設定をボタン一つで出来るようにと思い、マクロの自動記録で作成してみましたが、設定したはずのパスワードが記録されていません。 シート保護の解除にパスワードの入力が必要なようにする、シート保護のマクロは出来るでしょうか?。 どなたか、よろしくお願いいたします。

  • 複数のシートにまたがるマクロの記述方法

    複数のシートにまたがるマクロって書けるのでしょうか?自動記録でマクロを作ってチビチビ編集しているのですが、シートを指定したマクロが書けません。4枚のシートがセットで連動しているのですが、一度のマクロの実行ボタンで全てを順序良く実行させたいのです。 ご存知の方教えてください。

  • Excelのマクロを連続で

     Excelのマクロを作ってあるワークシートがいくつかあります。それを、Aのワークシートを立ち上げてボタンを押してそのマクロを起動~終了。それが終わったら、Bのワークシートを立ち上げてボタンを押してそのマクロを起動~終了。それが終わったら、Cのワークシートを立ち上げてボタンを押してそのマクロを起動~終了。というように10回くらい作業しています。以前は、Aの次にCということもありましたが、今は、A~B~Cと決まった順序で起動しますので、これをマクロで自動化できないのでしょうか?ただし、現状のボタンでのそのワークシートのみの起動~終了も可能にしておきたいと思います。

  • Excelマクロ シートの移動をするマクロ

    1つのブックに60のシートがあり、 目次シートに1~60のボタンを作って、 ボタンを押せば指定されたシートに飛ぶようなマクロを作りたいのですが どのような構文になるでしょうか? 最初は自動記録でやっていたのですが、 シートの数が多く大変なので何か良い方法がありましたら教えていただけないでしょうか。 宜しくお願い致します。

  • エクセル2010 マクロを実行するボタンの作成

    エクセル2010で、 マクロを実行するボタンの作成方法か、初心者向けのサイトを教えてください。 やりたいことは、 シート1に入力した値が、シート2・3・4・・・の表に反映されて表示される。 (各シートの正しい位置に数値を反映させることは終了しました。) シート1に「シート2印刷」 「シート2印刷」・・・などのよなボタンを作り、ボタンを押すだけで、 シートの印刷を実行させたい。 です、宜しくお願い致します。

  • Excelシート上のマクロを登録したボタンの削除が出来ません

    過去ログを検索してもなかなか見つからなかった為、 お知恵を貸して頂ければ幸いです。 【前提】 ・Excel製作者はすでに居ないので確認できない ・自分はマクロ(VBA)初心者です ・該当Excel使用者からの依頼です ・Excel2003使用 【現象】 Excelのシート上にマクロが登録された「消去」ボタンがあるのですが。 そのボタンを削除しようとしても削除できません。 表示→ツールバー→フォームでフォーム修正ができる状態にして ボタンを右クリックして「Del」キーを押せば通常は消えるはずたと思うのですが。 なぜか「Del」キーを押すと、「消去」ボタンの上に「ボタン3」というボタンが張り付き 「消去」ボタンは残ったままです。 切り取りでも消えません。 移動させようとすると、移動先にも「消去」ボタンが増えます。 (元の位置にも消去ボタンが残ったままになる) 移動先に出来た「消去」ボタンはDelキーで削除可能なのですが。 元々の場所にある「消去」ボタンがどうしても消せません。 ブックやシートの保護がかかってるかと思いましたが かかっていないようです。 作成した「ボタン」を保護する設定がかかっているのでしょうか? 詳しい方がいらっしゃいましたら、教えて頂ければと思います。

専門家に質問してみよう