• ベストアンサー

エクセル マクロ関係

セルに入っている数字分セルを動かしたい 例) セルがB5にある状態からC3に20を入力したらマクロボタンでB25に動くようにしたい もしくはセルがB5にある状態からC3に20に入力したらC26のセルのセルがクリアになるようにしたいのですが 宜しくお願いします

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

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

Sheet1でやるとして、Sheet1のシートモジュールに Public x Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$3" Then Range(x).Offset(0, Target).Select End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address <> "$C$3" Then x = Target.Address End If End Sub といれます。 いまセルがB5にあるとします。 セルC3をクリックし、5を入れるとB5の第5行目で、5列右に移動して、G5に行きました。 これでよいでしょうか。

mintsquare
質問者

お礼

質問早々のご回答ありがとうございました シートモジュールに入れましたら思いどおりに動くようになりました ありがとうございました

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 私には、ご質問の意味がほとんど分りません。 >セルがB5にある状態から >C3に20を入力したら セルがB5にあるというのは、どういう意味ですか?セルポインタですか?それとも、マウスポインタですか?(おそらく、マウスポインタ側は不可能です) B5以外の場所から、C3 にセルポインタを移動した場合は、不可とするのでしょうか? つまり、時系列の記録が必要ですから、B5 にセルポインタを移動した時に、時系列の記録が始まり、C3 の入力待ちか、次のステップがC3 以外の場合には、記録を中止ということになりますね。 >マクロボタンでB25に動くようにしたい マクロボタンって何を指すのですか?コマンドボタンですか? そのボタンの種類はなんですか? そのボタンはB25 に移動させるということでしょうか? すでに、B25 に移動してしまったらどうするのですか?一度きりのマクロになってしまいます。

mintsquare
質問者

お礼

ご回答ありがとうございました 質問が的確でありませんでした 今後の参考にさせてもらいます

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.3

うーんマクロでやりますか? イベント駆動型になるんでどうかなと思います。 言い換えると、シート上のどのセルに値を入力しても、一応そのマクロが起動する形となるので、頻繁に書き換えるシートであれば、あまりとるべき手段とも思えません。 要するに目次チックな使い方が目的であれば、以下を参考にしてみてください。 前半部分だけの解決ですが、ハイパーリンクを使うというのはどうでしょう。 例えば、C4セルに以下の内容を入力します。 =HYPERLINK("[Book1]Sheet1!B"&C3,"B"&C3) (ブック名,シート名は適当に変えてください) こうすると、C3セルに20を入力すると、 C4セルが、B20セルに飛ぶハイパーリンクとなります。 ちょっと目的がわからないので、はずしているかもしれません。目的をはっきりさせると、別の解決方法があるような気がします。

mintsquare
質問者

お礼

ご回答ありがとうございました 質問が的確でありませんでした 今後の参考にさせてもらいます

回答No.2

シートに対して下記を追加します。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$3" Then Cells(5 + Target.Value, 2) = Cells(5, 2) Cells(5, 2).ClearContents Cells(5 + Target.Value,Target.Column).Clear End If End Sub マクロの場合はIF文を除いて記述。

mintsquare
質問者

お礼

ご回答ありがとうございました 動き方の勉強になりました ありがとうございました

関連するQ&A