最新版のExcelについてです! マクロで、Enterキーを押した際(入力を確定した際)に次のセル移動を指定されたセルに移動できるようにしたいです。

Visual Basic59閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

ありがとうございます。 マクロではなく名前の定義で行いました! お助けいただきありがとうございました。

お礼日時:5/27 16:44

その他の回答(1件)

0

>Enterキーを押した際 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11240630996 過去にあったのでこちらを参考にできると思います。 で、セル移動については、 まず H19,P19,X19,AF19,H36,P36,X36,AF36,H53,P53,X53,AF53,H70,P70,X70,AF70 ①配列で取り込みます。(または配列で設定) ②現在のアクティブセルのアドレスを取得、 ③②のセルアドレスと一致する配列(インデックス)を取得する ④③のインデックスを+1した値を取得する ⑤④の+1したインデックスの配列を取得する(次に移動するセルアドレス) ⑥⑤のアドレスのセルへ移動する。 ⑦最後の配列の場合は移動しない。 こんなところでしょうか 下記サンプルコード記載します。 配列だと生成が面倒だったので、コレクションでアドレスリストを作りましたが、配列と同じような処理になります。 Sub MoveCellInEngerKey() Dim moveAddressList As Collection Set moveAddressList = makeCollection Dim currentAddress As Variant currentAddress = ActiveCell.address(False, False) Dim targetCell As Variant Dim i As Long i = 0 For Each targetCell In moveAddressList i = i + 1 If currentAddress = targetCell Then targetCell = moveAddressList.Item(i + 1) range(targetCell).Select ActiveCell.Activate Exit For End If Next End Sub Public Function makeCollection() As Collection Dim moveAddressList As Collection Set moveAddressList = New Collection moveAddressList.Add "H19" moveAddressList.Add "P19" moveAddressList.Add "X19" moveAddressList.Add "AF19" moveAddressList.Add "H36" moveAddressList.Add "P36" moveAddressList.Add "X36" moveAddressList.Add "AF36" moveAddressList.Add "H53" moveAddressList.Add "P53" moveAddressList.Add "X53" moveAddressList.Add "AF53" moveAddressList.Add "H70" moveAddressList.Add "P70" moveAddressList.Add "X70" moveAddressList.Add "AF70" Set makeCollection = moveAddressList End Function