プロが教える店舗&オフィスのセキュリティ対策術

エクセル2007で
セル”I1”に文字を入力してエンターを押したら、“B11”へセルを移動させたく、
以下のように作ってみたのですが、
反応してくれません。
このVBAもインターネット上にあったものを参考にしただけなので、
何が悪いのかさっぱりわかりません。どこを修正したらよいのか教えてください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address(0, 0)
Case "i2"
[b11].Select

End Select


End Sub

A 回答 (2件)

セルの値が変更されたときのイベントは「Worksheet_Change」を使います。


「Worksheet_SelectionChange」では選択範囲が変更されただけでイベントが発生します。

次に、Target.Address(0, 0)で帰ってくる列のアルファベットは大文字ですので、"i2"→”I2"にします。

最後に、セルの選択はRange("B11").Selectで行います。


Private Sub Worksheet_Change(ByVal Target As Range)
  Select Case Target.Address(0, 0)
  Case "I2"
    Range("B11").Select
  End Select
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。

思った通りの動きをしてくれました。

また、Select Case Target.Address(0, 0)は、大文字のこととはまったく知らず、
勉強になりました。

本当に助かりました。ありがとうございました。

お礼日時:2014/09/04 16:02

Activate が抜けているのだと思いますが。



http://www.start-macro.com/55/w/s035.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
添付してくださったリンク先で勉強したいと思います。

お礼日時:2014/09/04 15:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています