|
初めまして。
2002年7月の過去ログ【11530】を拝見しました。
その中で、ぴかるさんという方が私が求めていたものを書いていたので参考にさせていただきました。ありがとうございます。
そこでさらなる疑問が湧いて来ましたので質問させていただきます。
※※↓過去ログ【11530】引用 セル番号修正 ※※
Sub AUTO_OPEN()
Application.OnKey "{ENTER}", "セル移動"
Application.OnKey "~", "セル移動"
Range("B2").Select
End Sub
Sub AUTO_CLOSE()
Application.OnKey "{ENTER}" 'ENTERを押したらマクロを実行
Application.OnKey "~", "セル移動" 'テンキーのENTERを押したらマクロを実行
End Sub
Sub セル移動()
If ActiveCell.Address = "$B$2" Then
Range("B4").Select
ElseIf ActiveCell.Address = "$B$4" Then
Range("D2").Select
ElseIf ActiveCell.Address = "$D$2" Then
Range("D4").Select
End If
End Sub
-----------------------------------------------------------------------
私は、B2→B4→D2→D4→・・・というように、エンターを押した際にセルを移動させたいと思っております。しかし、これが結構な数です。BX4くらいまで行きます。
疑問1
全くの初心者なので、色々と調べて試してみました。
『Sub セル移動()』をモジュールの部分に記述したら、動作しました。
しかし、なぜ、モジュールに記述しなければならないのでしょうか?
同じ所に記述したら、動作しませんでした。なんかエラーが出ました。
疑問2
『ActiveCell.Address = "$B$2" Then 』のように、$をなぜ常に付けなければならないのでしょうか?試しに、外したら動作しませんでした。
疑問3
このセル指定に、変数は使えないのでしょうか?
使えるとしたら、上記の場合では、どのように記述すればいいのでしょうか?
Dimステートメント?を使ってみたり、Cells なんかもやってみましたが、上手くいきません。
大変申し訳ないのですが、VBAは、全くと言っていいほど初心者です。
私なりに、色々と調べてここまでたどり着きましたが、上記の3点がどうしても分かりませんでした。
どうぞ、皆さん、よろしくお願いいたします。
|
|