• ベストアンサー

セルをマクロのボタンにしたい。

VBA初心者です。 いつもボタンを作って、マクロを起動させていますが、たしか、エクセルシートのセルそのものをボタンにする方法があったと思います。 教えてください。

  • e_b_p
  • お礼率1% (2/185)

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

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

>セルそのものをボタンにする方法 表現があいまいですが (1)クリック(結果的に(4)と同じ。正確にはこのイベントなし) (2)ダブルクリック (3)右クリック (4)選択 のイベントを捉えて、指定したモジュールを実行できます。 一般の操作とと紛らわしい(1)、(4)は避けて(2)ぐらいが適当かと思います。セルの背景色。値(Captionの代わり)でもはっきり目立たせる方が適当。 ーー そのセルに、ダブルクリック効果を限定するために、Targetセルの番地のをチェックして、それ以外はパスする。 ーー D1セルをボタンの代用にする例 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not (Target.Row = 1 And Target.Column = 4) Then Exit Sub shori End Sub Sub shori() MsgBox "処理 しました " End Sub

その他の回答 (1)

回答No.1

ボタンのようにクリックは無いようですが、ダブルクリックと右クリックならできるみたいです。 B2またはボタンと言う文字が入っているcellをダブルクリックまたは右クリックすると、それを表示します。 Cancel = Trueは、本来の処理をキャンセルするためです。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If (Target.Row = 2) And (Target.Column = 2) Then MsgBox "B2 をダブルクリック" Cancel = True End If If Target = "ボタン" Then MsgBox "ボタン をダブルクリック" Cancel = True End If End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If (Target.Row = 2) And (Target.Column = 2) Then MsgBox "B2 を右クリック" Cancel = True End If If Target = "ボタン" Then MsgBox "ボタン を右クリック" Cancel = True End If End Sub

関連するQ&A

  • エクセル:シート1のセルA1が0でなければ任意のマクロを実行したい

    エクセルマクロ(VBA)初心者です。よろしくお願いします。 (1)エクセルのsheet1のセルA1の値が”0(ゼロ)”でなければ、そのシート上で任意のマクロを実行し、ゼロであれば実行せずにsheet2へとぶ (2)同じようにsheet2のセルA1がゼロでなければ実効し、ゼロでなければsheet3へとぶ・・・の繰り返し(sheet50まであります。) このようなマクロ(標準モジュール)の書き方を教えてください。 よろしくお願いいたします。

  • マクロのセルの範囲指定

    お世話になります。マクロ初心者です。エクセルの業務でマクロを作成しようとしているのですが、マクロ実行で、セルの範囲が指定される方法はありますか?例えば シート名  開始  終了  Sheet1   A1  D10 を入力して、ボタンを押したらA1からD10までのセルが選択されることです。説明不足ですみません。宜しくお願いします。

  • ボタンを使ったマクロの作成

    ボタンを使ったマクロの作成 エクセルでボタンを押すと あるセルの数字に1が加算され そのシートが印刷されるマクロを 恐れ入りますがどなたか教えて(作成して)下さい。 マクロに関しましては まったくわかっておりませんので トンチンカンなことを言い出すかもしれませんが どうぞよろしくお願い致します。

  • エクセルマクロで(セルの削除、相対パス、ボタンで実行)

    エクセルのマクロ(VBでしょうか?初心者で分かりません)でセルの削除、相対パス表記、ボタンでマクロを実行、と3つをやりたいと思っています。聞ける人や本もなく困っていました。 デスクトップにフォルダを置いて、その中にマクロを実行するエクセルファイル、データが入ったエクセルファイルを入れています。マクロを実行すると、新しいエクセルファイルに必要なデータが入ってくるという事をやっています。 あるシートのあるセルの中身とその周りの罫線を削除する。 どのPCでも動くように相対パス表記にする。 コントロールツールボックスからボタンをつけたのですが、これを押すことでマクロを実行させる。 以上のような3つをやりたいと思っています。初心者で上手く説明ができていない、変なマクロかも知れませんが、是非教えて下さい。よろしくお願い致します。

  • エクセルのマクロでセル選択するには

    初心者です! エクセルのSheet1に30箇所のセルをマクロで選択したいのですが、 たまに選択するセルが変わります。 そこで、Sheet2のA1から下へSheet1の選択する位置を「B2」「C5」「D10」・・・としてマクロで一発で30箇所のセルを選択する方法を教えてください Sheet2のA1から下へ入力するセル位置はその都度変化します。 変化したときにそのマクロを実行すると選択できるといいのですが!! よろしくお願いします。

  • excel2003でマクロ用ボタンで検索のボタンをつけたいのですが?

    excel2003でマクロ用ボタンで検索のボタンをつけたいのですが? 現在、excel2003で複数のボタンを配置してそれぞれの機能をVBAでつくってシートに貼り付けてます。 その中の1つのボタンに検索の(通常のEXCELの検索で文字の入力用ボックスがでる)ボタンをつけたいのですが、うまくできません。 VBAでどのように記載したらよいのでしょうか? 宜しくお願いします。

  • Excel2000でマクロの「ツール」から実行を出来なくする方法

    VBAをシートの「ツール」-「マクロ」-「実行」を出来なくする方法を教えて下さい。 ただ、VBA自体を動かなくさせるのではなく、あくまでもシート上に「ツール」から実行させない方法です。 ボタンに登録してあるマクロは、押す事で実行させたいです。 「ツール」-「マクロ」へ行くのをパスワード管理で制御する方法でも良いです。 Excel2000使用の初心者です。よろしくお願いします。

  • エクセル2007で コマンドボタンを使用してマクロ?で他のシートの内容

    エクセル2007で コマンドボタンを使用してマクロ?で他のシートの内容から選択するようにしたいのですが・・・ マクロ初心者です・・・ どのように説明したらよいかわからないのですが 例えば シート1で作成したデータを シート2でコマンドボタンを押すとシート1のデータから選択しセルに入るようにしたいのですが どなたか 教えていただけないでしょうか? よろしくお願い致します

  • エクセルマクロ 「101」 ボタンをおして 「102」となるマクロ?

    エクセルです。 一つのセル(A4)に「101」と書いてあります。それをVlookup関数で他のシートから一致する情報を取り出しています。次に同じセルに「102」とうつと、同じように一致する情報を取り出しています。 そこで、一回、一回、セルに102や103と打つのではなく、ボタンを押すと次の番号にうつるようなマクロを組みたいと思ってます。 ただ、101~130 次は、201~231みたいになってます。 一つのマクロでなくても良いので、よろしくお願いします。 最初は、 Range("A4").select  セルA4を選択 だと思うのですが、この次から分かりません。

  • 検索結果をセルに表示させるマクロ

    こんにちは。 エクセルのマクロ初心者です。 シート1に作ったあるリストから、シート2のあるセルにキーワードを入力すると、隣のセルに検索結果を表示させるマクロと作りたいのですが…。 エクセルの検索機能を使って、キーワードを入力し、次を検索をクリックすると、シート1のリストの中の部分的に合致するセルをカーソルは選択しますよね? その選択したセル内容をシート2のセルに表示させる方法がわかりません…。 アドバイスいただけないでしょうか。

専門家に質問してみよう