以前こちらで教えていただき、
以下のように文字を入力したら、右へ移動するようにしました。
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveCell.Offset(-1, 1).Select '入力をしたら右にセルが移動する
End Sub
上記コードでは、deleteを押すと セルが、右上に移動してしまって
困っています。
そこで、以下のようにしてみました。
Private Sub Worksheet_Activate()
Application.MoveAfterReturn = True
Application.MoveAfterReturnDirection = xlToRight
End Sub
すると、今度は、別のエクセルデータを開いても右へセルが移動してしまい、
その都度オプションでカーソルの移動を下へ変更しなければいけなくなってしまいました。
やりたいことは、
決められた一つのファイルでのみ、エンターを押す、もしくは文字を入力する、DELETEを押す
上記の作業の後、セルが右へ1つ移動するというようにしたいのですが、
どのようにしたらよいでしょうか?
No.2ベストアンサー
- 回答日時:
こんにちは。
既存のApplication.MoveAfterReturn、Application.MoveAfterReturnDirection
を扱う記述やWorksheet_Changeイベント等すべてを排除した上で、
ThisWorkbook モジュールに以下の記述を貼り付けます。
この方法であれば、
ブックを閉じた後、
同時に開いた他のブックで作業する時、
既定の下方向へのカーソル移動へと設定を戻します。
コードを貼付けた直後は、Workbook_WindowActivate
が呼び出されるまで何もしませんから、
最初だけ、
Application.MoveAfterReturnDirection = xlToRightを別の方法で実行するか、
他のブックを開いて、アクティブブックを切り替える等して試してください。
尚、Application.MoveAfterReturnは変更する必要のないプロパティです。
' ' /// ThisWorkbook モジュール
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.MoveAfterReturnDirection = xlToRight
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.MoveAfterReturnDirection = xlDown
End Sub
' ' ///
> 決められた一つのファイルでのみ、エンターを押す、もしくは文字を入力する、DELETEを押す
> 上記の作業の後、セルが右へ1つ移動するというようにしたいのですが、
「DELETEを押す」タイミングでカーソルを移動する、というのは、
Windowsでは馴染みのない挙動なので、意図を量りかねています。
通常は、[DEL]→[ENTER]キーという2つのストロークで、
カーソルを移動するものだと思います。
(これでも2ストロークですから、他の処理よりは手数少ない訳ですし)
ということで、差し当たり、
「DELETEを押す」タイミングでカーソルを移動することについては、
今回、何もしていません。
やるとすれば、Application.OnKey メソッドあたりを扱うことになると思いますが、
管理的に難しめです。
何故、その機能が必要なのか、補足説明頂ければ、
それに合わせた形で再度検討してみます。
取り敢えず、以上です。
ありがとうございます。
今回は急いでいたため、記載していただいたものをそのままコピーして
使用させていただきました。
また、「DELETEを押す」タイミングでカーソルを移動する。。。
ご指摘いただいたように、このような動きはするはずないですよね。
ただ、
以前使用していた(記載した内容)だと、
なぜかDELETEを押すとENTERを押さなくてもカーソルが勝手に移動してしまっていたので、
頭の中がごちゃごちゃになってしまっていたようです。
今回コピーさせていただいたソースが自分のやりたいことをすべてできたので
本当に満足しております。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
セルの自動移動
Excel(エクセル)
-
-
4
エクセルでエンターを押すと任意のセルに移動は出来ますか?
その他(コンピューター・テクノロジー)
-
5
エクセル2010セル入力後指定の離れた場所に移動?
Excel(エクセル)
-
6
エクセル 1文字入力すると自動で横にセル移動
Windows Vista・XP
-
7
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
8
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
9
エクセルで指定した文字数入力したら自動で次のセルに飛ぶには
Excel(エクセル)
-
10
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
11
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
12
excelで セルの移動時にマクロ実行を設定したい。
Excel(エクセル)
-
13
Excelで指定桁数分を入力すると自動的に次のセルに移動するようにするには?
Excel(エクセル)
-
14
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
15
Worksheet_Change、名前の定義で分岐
その他(Microsoft Office)
-
16
連続データが入った行の一番右端の右側の空白セル
Excel(エクセル)
-
17
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
-
18
【VBA】配列を使ったマクロで高速化
Visual Basic(VBA)
-
19
エクセルのコントロールツールボックスの出し方。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セル入力文字が、「右のセルに...
-
あるセルに色を付けた時、別の...
-
Wordで、表のセルが変なところ...
-
エクセルでセルの中の文字が削...
-
エクセルで知らない間に行がず...
-
Excel 結合セルへのコピーが出...
-
Excelのセル内の文字の頭に半角...
-
Excel2007 「並べ替えの前に」...
-
Word 表のセル塗りつぶし
-
Wordで天地(上下)が同じ中に...
-
Wordでセルに文字を入力すると...
-
用紙を均等に分割して文書は作...
-
ワードで表を作ってセル内で改...
-
Wordの表で逆L字型のセルを作成...
-
エクセル2010で、結合したセル...
-
WORDで表の行を2行に分けたい
-
エクセルVBA 文字を入力したら...
-
エクセルで作った表をさかさま...
-
エクセルで1列おきのデータのみ...
-
エクセルで横長の文字
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セル入力文字が、「右のセルに...
-
エクセルで知らない間に行がず...
-
エクセルでセルの中の文字が削...
-
あるセルに色を付けた時、別の...
-
Wordで、表のセルが変なところ...
-
Wordでセルに文字を入力すると...
-
エクセル 結合したセルの間にセ...
-
Excelのセル内の文字の頭に半角...
-
WORDで表の行を2行に分けたい
-
ワードで表を作ってセル内で改...
-
エクセルの一つのセル内に2つの...
-
エクセル2010で、結合したセル...
-
Word 表のセルを結合せずに文字...
-
エクセルで1列おきのデータのみ...
-
Word 表のセル塗りつぶし
-
Wordの表で逆L字型のセルを作成...
-
ワードの表で中央揃えが出来ない
-
エクセルで複数行を括弧でくく...
-
Excelで文字の周りにスペースを...
-
エクセルで捺印をもらう欄を別...
おすすめ情報