• ベストアンサー

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

決まったフォームの書類を作成したいのです。 枠組みだけ作っておいて数値などを埋めていきます。 ので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/17069)
回答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/17069)
回答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