- ベストアンサー
マクロについて
マクロ初心者です。 エクセルのマクロで下記は何を示しているのでしょうか。 困っているのでもなんでもないのですが、周りにマクロが判る人がまったく居ないので質問させてもらいます。 Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) End Sub
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#3です。 > お二方の回答にはいずれもend subの前に指示内容?が入っているのですが > Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) > > End Sub > これだけでは何の意味もないと解釈してよいのでしょうか? はい。 SelectionChangeイベント(アクティブセルの移動)の際に作動するマクロをその2行の中に書くためのものですから、何も書いて無ければ何も起こりません。何の意味もないです。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
正論は、既出のご回答です。 しかし別の面からこの質問を眺めると、下記の場面ではないですか。 ーー VBE画面を開き、VBE画面の左のVBAProjectのSheet1やSheet2を1つダブルクリックすると、右側に白紙の枠が出て、上のほうの、左に(General)、右上に(Declaration)が出て、左をクリックすると、Worksheetがあります(というか、これしかない)。 これをクリックすると、(エクセルのおせっかい機能でか、)右側は優先的にSelectionChangeが採用されて Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub が出てしまうようです。 私なぞは回答で、 Private Sub Worksheet_Change(ByVal Target As Range) End Sub を選ぶことが多いので、その後それを選びなおすと、上記SelectionChange部は 不要になりますが、下に残ったままです。 ずぼらして、それを消さないで、無害(本当は飛んでくる処理に無駄な処理が行われているのかもしれないが)だからと、そのままにしたケースも多く、質問者が目にしたのも、その残骸ではないでしょうか。 だから実質的には意味は有りません。消すほうが良いのでしょうが、それをしなかっただけ。
お礼
ありがとうございます。締め切った後に回答していただいたようです。 確かに残骸のような気がしています。
- hana-hana3
- ベストアンサー率31% (4940/15541)
>何かしたらって例えば何でしょうか? エンターキーや矢印キー、マウスのクリックなどによって「アクティブセル」が移動(別のセルがアクティブになる)した時に動作します。 そして、Target という変数に(移動後の)アクティブセルの情報が渡されます。 >動くって何が動くのですか? 提示された2行の間に記載された処理が実行されます。 MsgBox Target.Address と記入すれば、セルのアドレスが表示されます。 http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040727.html
- merlionXX
- ベストアンサー率48% (1930/4007)
> 動くって何が動くのですか? 百聞は一見にしかずです。試してみましょう。 1.シートのタブを右クリックし、「コードの表示」を選択。 2.出てきたVisualBasicEditor(白い部分)に下記のコードをコピペ。 '*****ここから下をコピペ***** Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox Target.Address & "が選択されました。" End Sub '*****ここより上までをコピペ***** 3.Alt+F11キーでワークシートへもどります。 これでシート内のセルを選択してみてください。 今書いたマクロが動きます。
お礼
試してみました。 お二方の回答にはいずれもend subの前に指示内容?が入っているのですが Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) End Sub これだけでは何の意味もないと解釈してよいのでしょうか?
- papayuka
- ベストアンサー率45% (1388/3066)
実際に試して見ると解りやすいです。 1)新規ブックを開きます。 2)シート名タブを右クリックして「コードの表示」を押下します。 3)VisualBacisEditor(以下VBE)が起動しますので、下記コードをコピペします。 4)VBE画面を閉じます。 これで、セルを選択するたびに選択したセルのアドレスがメッセージ表示されます。 Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) MsgBox "選択したセルは" & vbCrLf & Target.Cells(1, 1).Address(0, 0) End Sub
- Nigun
- ベストアンサー率22% (200/893)
セルが移動した時に動くマクロです。 つまりブックを開いて何かしたら動きます。
お礼
早速の回答ありがとうございます。 何かしたらって例えば何でしょうか? 動くって何が動くのですか? 初歩的な疑問でごめんなさい。
お礼
ありがとうございます。勉強になりました。