• ベストアンサー

エクセルで、次のセルに飛ぶには

決まったフォームの書類を作成したいのです。 枠組みだけ作っておいて数値などを埋めていきます。 のでA3のセルに入力し終わってエンターを押すと A4のセル・・・ではなく次はB7のセルへ、 次にエンターを押すとD12のセルへ行きたい・・・。 というような場合はどのように設定(作成)すればいいのですか? マクロですか? サルでもわかるように説明お願いいたします。

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

  • ベストアンサー
  • austin32
  • ベストアンサー率31% (11/35)
回答No.3

形式が決まったフォームであれば、 1.数値入力する予定のセルを全て選択  (ctrlを押しながらそれぞれのセルを選択)して、  ctrl+1(セルの書式設定)画面で「保護」の中の 「ロック」のチェックをはずします。 2.「ツール」→「保護」→「シートの保護」を選択し、  シートに保護をかけます。  すると、1.で「ロック」をはずしたセル以外は  変更不可になり、  tabキーを押せばロックされていないセル、  つまり数値入力する予定のセル間のみで  移動可能になります。 どーでしょ? ちなみに、決まったフォーム形式の書類でしたら、 上記の方法を使うと、数値入力するセル以外、 つまり変更したくないセルには、 保護を解除するまで上書きできなくなるので、 フォームを壊さないで済む、というメリットもあります。

dlx_xlb_qlo_olp
質問者

お礼

これもいいですねぇ。 しかも他は変更効かなくなるっていうのもさらにすばらしいかも。

その他の回答 (4)

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

#4です。 #4の補足が、#4(3)についてのことであれば、左上隅の(1つのセル)を指定すれば良いと思います。 手操作では結合されたセルは左上隅しか入力できませんが VBAでも、同じです。例えばB2:C3をセル結合したとして、B2にaをいれて Sub test02() MsgBox Cells(2, "B") '(X) Cells(3, "B").Select Cells(3, "B")="b" Msgbox Cells(3, "B") '(Y) End Sub を実行すると(X)はa, (Y)はなにも出ないところから、エラーにはしないが、 値セットは無効のようです。セル結合を解除してもB3は 値が現れません。Selectは結合前のどのセルを指定しても、その結合後セルを指定できます。

dlx_xlb_qlo_olp
質問者

お礼

やっぱ私にはVBAは難しかったみたいです。

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

(1)飛び飛びの複数セルの選択-->CTRLを押しながらクリック--->#1のご回答の前半 その中ではENTERやTABで飛ぶ機能あり。#1のご回答の前半 (2)決まったパターンの飛び飛びの複数セルの選択を「再度後日等利用時に」瞬時に実現 --->#2のご回答の前半 従って、指定したセルへ飛ぶと言う機能は、#1のご解答で、満たしているので正解と思います。 ただ(2)の機能も重宝かも知れないが、質問には明確でない。 (3)(1)は横流れ、上から下で動きます。これが上下逆流する動きならVBAでないとできないのでは。まあこのケースは極く少ないでしょうが。 Private Sub Worksheet_Change(ByVal Target As Range) a = Array("$A$1", "$C$3", "$C$6", "$A$6", "$A$1") MsgBox Target.Address For i = 0 To UBound(a) - 1 If Target.Address = a(i) Then Range(a(i + 1)).Select End If Next i End Sub こんな風でしょうか。上記Arrayの中を自由に指定して、次に行くセルは上下左右の逆流も自由に指定できます。 Changeイベントは心配もあリますが。

dlx_xlb_qlo_olp
質問者

補足

セルを結合した場合(たとえばB3~D3まで)は どこのセルを指定したらよいのでしょう?

  • shiga_3
  • ベストアンサー率64% (978/1526)
回答No.2

1)あらかじめCtrl+クリックでジャンプしたい複数のセルを選択する 2)範囲選択したところで数式バーの左側の名前ボックス(セル番号が表示される所です)に適当な範囲名(例えば「範囲1」)を入力してEnter 以上で次回から名前ボックスの「範囲1」を選択すると、1)で選択したセルが一度に選択されると思いますので、あとはEnterキーを押せばその範囲内で移動します。 というような方法ではいかがでしょうか。

dlx_xlb_qlo_olp
質問者

お礼

おお!!これはすばらしいかも!! 私にも理解しやすいし。 VBAとかいうのも使わなくていいし。 100点ですね!! というか120点ですよ!!

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.1

たとえば、B7を選択し、そのままCtrlキーを押しながらA3も選択します。その状況下で何かを入力してEnterキーを押せばカレントセルはB7に移動します。 ただし、セルが移動する順序はEnterキーを押したときにセルが移動する方向の影響を受けます。 この機能で満足いかない場合はマクロの出番です。 http://www.okweb.ne.jp/kotaeru.php3?q=733327 http://www.okweb.ne.jp/kotaeru.php3?q=474574 などが参考になるかと思われます。

dlx_xlb_qlo_olp
質問者

お礼

マクロでやってみましたがひとつはうまくいきますが 次のセルへ行きたいときはどうやって設定するのかが わかりません。

関連するQ&A

  • Excel 条件に従いセル移動するには

    よろしくお願いいたします。 A列には入力したくない行に"a"が入力してあるとします。 B列に上の行から数値を入力していくのですが、数値を入力してEnterを押すと次のA列に"a"が入力されていない行のB列セルに移動するVBAを教えてください。

  • Enterキーで順番にセルの移動する。

    Excel2013 Enterキーを押すと隣りのセルに移動ではなく、次に入力したいセルにカーソルが移動するようにしたいです。 たとえば、 必要事項を入力する書類で、B2のセルに入力したら次はD5のセルに入力、次はA6に入力といった書類あり、Enterキーを押して次の入力セルに移動するようにしたい。また、書類の書式を崩されたくないのでシート保護して使いたいです。 Enterで進み、戻る時はUPキーか、↑キーなどで設定したいと考えてます。 どなたか、VBで教えてくださる方お願いします。

  • 数値入力後のセルの変則移動

    office XPを使用してます。 タイトルのとおりマクロにて、セルの変則移動のプログラムについて宜しくお願いします。B5からスタートします。 B5に数値入力→ENTER→B9に入力→ENTER→D6に入力→ENTER→G6に入力→ENTER→D9に入力→ENTER→E9に入力→ENTERで終了です。

  • エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい

    エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい。 たとえばセルA1に、1以上の数値が入力されたときに、セルA2に今日の日付を入力させる マクロの記述はどうすれば宜しいでしょうか? 以下の記述で、セルA2に日付は入力させられるのですが、 セルA1に1以上の数値が入力された場合に起動させる方法が分かりません。 Range("A2").Select SendKeys "^(;){ENTER}" ご教授の程、宜しくお願い申し上げます。

  • エクセルでセルの移動について

    例えば、まずA1セルに入力します。次にenterキーを押すとA3に、次に押すとB1に移動って出来ますか? お願いします。

  • エクセルで指定したセルにジャンプしたい・・・

    エクセル2000を使用しています。 あるフォームを作成しました。 入力するセルは常に決まっています。 順番に入力するようになっているのですが、その際に Enterキーを押すと次に入力するセルに勝手に ジャンプするようにするにはどうすればよいのでしょう?

  • エクセルで次のようなことは、できないでしょうか。

    エクセルで次のようなことは、できないでしょうか。 マクロは使い方が解らないので使わないでやりたいです。 1、「A1」のセルに「4月」を入力して「A2」のセルに「1000」を入力した場合は 「B1」の値が「1000」となる。[「B1」に=IF(A1="4月",A2,"")] 2、「A1」のセルに「5月」を入力して「A2」のセルに「2000」を入力した場合は 「B2」の値が「2000」となる。[「B2」に=IF(A1="5月",A2,"")] 3、ただし2、の「5月」の場合でも 「B1」の値は「1000」を、そのまま保持したい。 上記3、の方法がわかりません。

  • Excelのマクロでセル単位でロックをかける方法に関する質問です。

    Excelのマクロでセル単位でロックをかける方法に関する質問です。 例えばa1からd10の範囲のセルに対して a列の各セルは、IF関数で数値か""を返しているとします。 a列のセルが数値であれば、同じ行の各セルをロックし、""であれば、後からそのセルに手入力できるようにロックを外したいと思います。(もちろんIF関数は書き換えられますが、それでOKです) 例えば、a1が数値なら、a1,b1,c1,d1の各セルはロックに、     a1が""なら、a1,b1,c1,d1の各セルはアンロックに したいわけです。 手作業だと行数が多い場合大変なので、マクロで自動的に行いたいと思いますが、マクロ初心者のため、どうすればよいのかわかりません。 どなたかご教授願えればありがたいです。 よろしくお願いします。

  • ExcelでTabキーを使って入力対象セルに飛びたい

    Excel2002を使用して簡単な入力フォームを作成中なのですが、入力し易いようにタブキーが使えないか悩んでます。 例えば下のような表があるとして、     A    B    C    D    E 1  氏名  山田 2  年月  2000   年    12   月 最初にB1にカレントセルがあって、タブキーを押すとB2に飛んで、またタブキーを押すとD2に飛ぶ・・・、 というように、自分が入力したいセルにタブキーで飛べないかな?と思うのです。 マクロは使わずに何かの設定などで出来るのでしょうか? マクロを使用する場合は、どんな書き方にすればよいでしょうか? どうぞ教えてください。m(_ _;m)

  • EXCELでセルを飛ばせる?

    ある作成済みの表で、定数などを入力するセルだけにセルを移動(TABキーを押すと、そのセルだけを移動するような)させることができますか?特定のセルをロックする方法は知っているのですが、それだと、書式の変更などもできなくなるものですから・・マクロでは、できるかなーと思いますが、マクロのことは、さっぱりわかりません。ご存知の方、宜しくお願いします。   A  B  C 1 数  数  式 2 数  数  式 この場合、セルがA1、B1入力後は、A2、B2とセルが移動するという感じです。

専門家に質問してみよう