- ベストアンサー
excelで セルの移動時にマクロ実行を設定したい。
エクセルでボタンオブジェクトを作りクリックすると実行するようなマクロのを登録方法はわかるのですが、特定のセルB2に数値を入力してEnterKeyを押した際に実行するようにマクロを登録するにはどうするのでしょう。マクロの編集画面で 最初の行が Sub となっていますが、あそこに何かをいれたらいいのでしょうか?教えてください。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。補足に関して 全セル対象なら Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("sheet2").Cells.Font.Size = 12 End Sub 範囲指定するなら Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("sheet2").Range("a1:c10").Font.Size = 12 End Sub 上記の真中の行を#1と組み合わせて使うこと。 Sheet1のどこを変化させてもフォント設定が行われる。それで宜しいか。変化を反映させるセルを限定するなら、また別の知識が必要です。マクロの初めはイベントに手を出すのは難しいと言うことです。
その他の回答 (2)
- deecyan
- ベストアンサー率38% (89/233)
関数をつくればどうでしょう? ツール->マクロ->Visual Basic Editor を選び 挿入->標準モジュール を選びます そこに Function hoge(dum As Range) '↓↓↓ここに好きな命令を書いてください。 MsgBox "aaa" ' 例です '↑↑↑ここまで End Function 等を書きます。 一旦保存して EXCELのシートに戻りましょう 特定のセルB2が変わったらでしたね B2以外のセル(範囲外のセル)に =hoge(B2) って入れてください 複数でしたら B2:C5など出来ます Worksheet_Changeは他のセルが変わった時もイベント(処理)が されますので 非常に時間がかかりますよ。
お礼
ありがとうございました。関数ではどうやら プロパティは変更できないようです。関数は引数から数値を返すのみのようです。
- imogasi
- ベストアンサー率27% (4737/17069)
シート(Sheet1と仮定)のメニューで、ツール-マクロ-VBEをクリックする。 VBE画面になりますが、そのVBAProjectの中のシート名等のツリー表示の中に、Sheet1があると 思いますので、そこをダブルクリックします。 すると画面が出てきます。その上部の(General)の▼をクリックして、「Worksheet]をクリック 、右の(Declarations)の▼をクリックして 「Change」をクリックします。 Private Sub Worksheet_Change(ByVal Target As Range) End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub 下のSelectionChange部分が出てしまったら、範囲指定して、Delキーで抹消してください。 間の行にプログラムコードを打ち込んでください。 シート(Sheet1)に戻り、どこかのセルにデータを入れて、予想通りなるかチェックします。 Changeイベントは色々欠点もあるイベントですが 自分が使う程度なら使い物になるでしょう。 もう一つ、変化を捉え変化させると、このイベントに該当し、処理がぐるぐる回りになることです。 それで一旦その働きを止めて、処理が終わると、元へ戻してます。なかなか初めての場合は難しいです。 下記は右隣のセルに+10した数をセットしてます。 漢字をいれたら?->他人に使ってもらうには、チェックがどんどん必要になり、コードが増えます(略)。さらに知識が必要になります。実用に耐えるマクロを作るのは難しいですよ。 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Target.Offset(0, 1) = Target + 10 Application.EnableEvents = True End Sub
補足
ありがとうございました。sheet1に数値入力したらsheet2のフォントサイズを12に変更したいのです。回答のtarget部分をsheet2select range指定 font指定にしてみましたがフォントサイズは変化しませんでした。すみません 重ねて教えて頂けたら幸せます。
お礼
ありがとうございました。無事目的通りのものができました。