プロが教えるわが家の防犯対策術!

決まったフォームの書類を作成したいのです。

枠組みだけ作っておいて数値などを埋めていきます。

のでA3のセルに入力し終わってエンターを押すと
A4のセル・・・ではなく次はB7のセルへ、
次にエンターを押すとD12のセルへ行きたい・・・。

というような場合はどのように設定(作成)すればいいのですか?
マクロですか?

サルでもわかるように説明お願いいたします。

A 回答 (5件)

たとえば、B7を選択し、そのままCtrlキーを押しながらA3も選択します。

その状況下で何かを入力してEnterキーを押せばカレントセルはB7に移動します。
ただし、セルが移動する順序はEnterキーを押したときにセルが移動する方向の影響を受けます。

この機能で満足いかない場合はマクロの出番です。
http://www.okweb.ne.jp/kotaeru.php3?q=733327
http://www.okweb.ne.jp/kotaeru.php3?q=474574
などが参考になるかと思われます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/01/09 22:56

1)あらかじめCtrl+クリックでジャンプしたい複数のセルを選択する


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

おお!!これはすばらしいかも!!

私にも理解しやすいし。
VBAとかいうのも使わなくていいし。

100点ですね!!
というか120点ですよ!!

お礼日時:2004/01/09 22:55

形式が決まったフォームであれば、


1.数値入力する予定のセルを全て選択
 (ctrlを押しながらそれぞれのセルを選択)して、
 ctrl+1(セルの書式設定)画面で「保護」の中の
「ロック」のチェックをはずします。
2.「ツール」→「保護」→「シートの保護」を選択し、
 シートに保護をかけます。
 すると、1.で「ロック」をはずしたセル以外は
 変更不可になり、
 tabキーを押せばロックされていないセル、
 つまり数値入力する予定のセル間のみで
 移動可能になります。

どーでしょ?

ちなみに、決まったフォーム形式の書類でしたら、
上記の方法を使うと、数値入力するセル以外、
つまり変更したくないセルには、
保護を解除するまで上書きできなくなるので、
フォームを壊さないで済む、というメリットもあります。
    • good
    • 0
この回答へのお礼

これもいいですねぇ。

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

お礼日時:2004/01/10 00:42

(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イベントは心配もあリますが。

この回答への補足

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

補足日時:2004/01/10 00:40
    • good
    • 0

#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は結合前のどのセルを指定しても、その結合後セルを指定できます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/01/11 20:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!