- ベストアンサー
エクセル2007 セルの移動に関して 2つの移動方法の共存はできますか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
この場合2つ右、二つ下ですので 下のコードでできます。 Enter とTabを使いたければ{right}{down}の部分を書き換えてください。 Sub 移動() Application.OnKey "{right}", "右矢印" Application.OnKey "{down}", "下矢印" End Sub Sub 右矢印() Cells(ActiveCell.Row, ActiveCell.Column + 2).Activate End Sub Sub 下矢印() Cells(ActiveCell.Row + 2, ActiveCell.Column).Activate End Sub Sub 移動解除() Application.OnKey "{right}" Application.OnKey "{down}" End Sub {解説」 Onkeyメソッドを使うと指定されたキーが押されたときに指定されたSUBに制御が移ります。 Application.OnKey "{right}", "右矢印" は右矢印が押されたとき"右矢印" というSubを実行します。 つまり”移動"を実行した後は右矢印を押すたびに"右矢印"が実行され現在の列(Activecell.Column)の2つ右の列をActiveにします。 移動不定の場合はセルアドレスを配列に記憶してそれを参照するようにします。 処理が終わったら"移動解除"を実行して本来のExcelのキー割り当てに戻します。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17068)
設定や操作では出来ないでしょう。 ーーー VBAでやってみた Sheet1のChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ext Application.EnableEvents = False If Application.MoveAfterReturnDirection = xlToRight Then '右 Target.Offset(0, 2).Select If Selection.Column > Range("H1").Column Then Cells(Target.Row + 1, 1).Select End If Else '下 Target.Offset(2, 0).Select If Selection.Row > 10 Then Cells(6, Target.Column + 2).Select End If End If ext: Application.EnableEvents = True End Sub ーー 利用の場合の前提など ●最初のセルはユーザー指定すること。 ●10行目より上、H列より左を動くの縛りを入れている(プログラムを変えると可変)。 ●必要な方にツールーオプションー編集ー入力後セルを移動するを、ユーザーが設定しなおす。 (コマンドボタンでもクリックで切り替えるようにしないと使い勝手が悪いと思う。コード略) ●結構難しかった。イベント関係というのは、操作で思わぬ事態が起こるかもしれない。I列以右でスタートすると、上記では十分考えていないが。 ●もし(エラー事態で)イベントが効かなくなったら 標準モジュールの Sub test01() Application.EnableEvents = True End Sub を実行のこと。
お礼
imogasi さん 大変 お礼のほうが 遅くなり 失礼しました。
- rivoisu
- ベストアンサー率36% (97/264)
マクロがつかえるならOnkeyメソッドを使います。 マクロで処理する気があるなら例になるコードを書きますが。。。 どうします?
補足
rivoisuさん 回答ありがとうございます。 Onkeyメソッドなるもの 恥ずかしい話、はじめて耳にしました。 ショートカットキーにマクロを登録するんですね。 >http://www6.plala.or.jp/MilkHouse/begin/contents207/contents207 04.html コードの修正とかは 厳しいですが よろしければ お願いします。
- maron--5
- ベストアンサー率36% (321/877)
【任意のセルへの移動】 ■手順■ 1)Ctrlを押しながら、マウスで入力順の2番目からセルを1つずつ入力順に指定していきます 2)最後に、入力順1番目のセルを指定します 3)指定したセルが反転し、最後に指定したセルは白になります 4)この状態で、指定した範囲に「◆入力順」と名前をつけます(名前は、なんでもいいです!) 5)左上の「名前ボックス」から、「◆入力順」を選択すると、先程のセルが指定状態になります 6)Enter をおすと、セルが指定順に移動します 7)なお、名前を定義するときに、参照範囲の式の、$A$1 を $A1 とすると、「◆入力順」を選択した時の行が起点になります!
補足
maron--5さん 回答ありがとうございます。 この方法も あるのは 検索で見つけたのですが・・・ 最初に名前定義を 選択しなくては いけないんですもんね。 この処理もできれば 省きたいところなんです。 今回は 回答ありがとうございます。
- HERO TKS(@HERO_TKS)
- ベストアンサー率34% (146/423)
質問の意図がはっきりしませんが… 入力するセルだけ移動するとして… 保護をかけるときに「ロックされていないセル範囲の選択」にチェックマークを入れてはいかがでしょうか?
- hana-hana3
- ベストアンサー率31% (4940/15541)
マクロ(Worksheet_SelectionChange)のイベントを使うしか無いと思います。
補足
hana-さん 回答ありがとうございます。 Worksheet_SelectionChange について 検索してみます。 ありがとうございます。
関連するQ&A
- EXCELで特定のセルのみ移動するには?
EXCELでセルの保護の解除を行います。 そしてシート全体の保護をします。 そうすると保護の解除をしたところしか上書きできなくなります。 ここまでは分かるのですが、ロックの解除を行ったセルのみENTERキーで順番に移動させるような設定は出来ますか? なおかつ移動の順番などを指定したり出来ますか? もしも出来るようであれば、そのやり方を教えてください。
- ベストアンサー
- オフィス系ソフト
- EXCEL2013セル左移動と改行
質問タイトルについて教えて頂きたいです。 〇条件として ・EXCEL2013 ・エンターキー後のアクティブセルの移動方向を左に設定 ・シートを保護し、HとDの列のみ入力可能 ◇求める動作例として H3に入力しエンター ⇒ D3に移動、入力しエンター ⇒ H4に改行 H4に入力しエンター ⇒ D4に移動、入力しエンター ⇒ H5へ改行 … といった感じです。 ●困っている点として H3でエンターを押してもD3に移動しない D3でエンターを押してもH4に移動しない ※セルの移動先が右であれば、D3からH3へ移動後D4へ改行できる のですが、左移動だと不可能でしょうか? シートの保護を外した状態では ・H3からG3,F3と移動はします。 ・改行はしません。 よろしくお願います。
- 締切済み
- Excel(エクセル)
- セル保護してしない部分のみ、エンターキーを押して移動するようにする方法は?
エクセル2003の保護の機能について、セルの書式設定から保護タブでロックしてからシートの保護を行いましたが、セルの保護していないセル以外にセル保護した箇所にもエンターキーを押したら移動してしまいます。セル保護していないセルにのみカーソルを移動させる方法ないでしょうか? それとセルの書式設定から保護タブでロック下に表示しないにチェックするとどういう影響があるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 入力後enterを押すと、非保護の別セルへ移動したい。(エクセル)
エクセル2000での質問です。 入力用シートと印刷用シートを作りました。 入力シートは、数個の入力欄のセルのロックのチェックボックスを外してシート保護しました。 tabキーで次の入力セルに選択セルが移動するようになりました。 入力欄(セル)に文字や数値を入力後、enterを押すと、次の入力欄に移動するにはどうすればよいのでしょうか? 今は、enterを押すと、保護されている使用しない下のセルに移動します。 週個の入力欄(セルは)隣接しておらず、シート上にまばらに配置してあります。 教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCELで特定のセルのみ移動するには?パート2
EXCELでセルの保護の解除を行います。 そしてシート全体の保護をします。 そうすると保護の解除をしたところしか上書きできなくなります。 ここまでは分かるのですが、ロックの解除を行ったセルのみENTERキーで順番に移動させるような設定は出来ますか? なおかつ移動の順番などを指定したり出来ますか? もしも出来るようであれば、そのやり方を教えてください。 前回と同じ質問なのですが、検証せずに評価をつけてしまったので、再度質問します。 バージョンは2003ではなく、2000でした。 シートの保護時に「ロックされたセル範囲の選択」という項目はありませんでした。
- ベストアンサー
- オフィス系ソフト
- EXCEL2003 ,指定したセルに移動
結合したセルなど、複数のセルが混在しています。順番にアクティブセルを移動させたい。 セル部分:K6:N6 , C10:I14, M11:N16, F17:J17, H18:M18 ・・・・・などなど結合されていないセルも混在しています、 セル書式設定から保護タブでロックチェックを外し、シート保護で保護されていないセル移動のみチェックを入れ、指定したセル(保護の掛かっていないセルのみ)移動させたいですが、旨く動作しません。 ※C10:I14, M11:N16,間で何回か移動を繰り返すため、1回の動作で次ぎのセルに移動させたい。 ご教授下さい
- 締切済み
- その他MS Office製品
- エクセルのセルをENTERで指定箇所に移動させる
ということをしたいと思っています。といっても、そんなにややこしい移動でなく、 A1B1,A2B2,A3B3というように、 右に一度進んだら斜め下に行く、という作業を繰り返したいだけです。 つまり、B列の入力をした後は必ずA列に戻って次の行から入力できる状態にしたいのです。 なお、移動にはENTERを使いたいと思っています。 CTRLで入力するセルに順番と名前をつけてやる方法を自分で見つけてやってみたのですが、 これだと、一度でもこの範囲内からはずれてしまうと、また一からの入力になってしまいますし、 理想はこのA列B列のどこから入力を開始しても、B列入力の後は次の行のA列に移動する、ということなのですが、、、。 入力しないセルをロックして保護する、という方法もやってみたのですが、私が何か間違っているのでしょうか、C列をロックしてもうまくいきませんでした。 なぜこのようなことをしたいかというと、誰でも使いやすいフォーマットを作っておきたいため、 このようにセル移動するシートを作成したいのです。 どなたかもしいい案があればどうぞお願いいたします。
- ベストアンサー
- Windows系OS
- エクセルでロックしたセルを見つける方法
エクセルで「ロックしたセルを見つける方法」ってありますか? たくさんの数式を入れ込み、シートの中も数式が入っているセルとそうでないセルが入り組んでいます。 初期段階で数式のセルにロックをかけ保護をしましたが、作業が進むにつれ、どのセルにロックをかけたかがわからなくなってしまいました。 ロックのかけ方は一般的な方法で、一旦全部のセルを選択し、書式設定のロックを【無】にし、F5で数式のセルのみを選択しロックを【有】にして、シートを保護する、という方法です。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルのシートの保護について
今、エクセル2003でワークシートのデータを変更できないように、 シートの保護を設定しているところを今勉強しています。 ただ、あるセル範囲だけ、たとえばB4からD6の範囲は編集できるようにしたいのです。 それで、B4からD6の範囲は書式メニュー→セルの保護タブで、 ロックチェックボックスをオフにしました。 それから、ツール→保護→シートの保護で、シートを保護しました。 この時、B4からD6の範囲は、ロックをオフにしたので、 編集可能になるはずですよね? だけど、B4からD6の範囲意外のセルと同様、 セルの書式を変更できないんです。 これだったら、B4からD6の範囲のロックをオフにした意味が ないんじゃないでしょうか? ロックをオフにするとどう違うのでしょうか? よろしくお願いします。
- ベストアンサー
- Windows XP
お礼
rivoisuさん 大変 お礼のほうが おくれてしまい 失礼しました。もうすこし エクセルの精進を したいとおもいます。 ありがとうございました。