【最大10000ポイント】当たる!!質問投稿キャンペーン!

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

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

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

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

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

このQ&Aに関連する最新のQ&A

A 回答 (5件)

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


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

どーでしょ?

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

これもいいですねぇ。

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

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

#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

(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

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


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

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

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

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

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

たとえば、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

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルの入力セルを自動的に移動させることは可能ですか?

今エクセルで名簿を打ち込んでいるのですが、入力部分のセルが一定の場所に来たら、任意の場所に自動的に移動させることって可能でしょうか?
要は横一列に打ち込んでいるんですが、必要な部分で下の行に移動したいんですよ~。
どなたかご存じでしたら教えて下さい<(_ _)>

Aベストアンサー

#1の方の回答でも大丈夫ですが、共同利用しているパソコンで、入力後のセル移動の方向を変更すると、他の利用者が困ることも多いですから、Tabキー(右セルに移動)とEnterキー(下セルに移動)を使い分けてください。

範囲選択してTabキーで次のセルに進めば、基本は右に行き、右端までくると次の行の左端に進みます。

なお、範囲選択してTabキーで進む方法は、矢印キーやクリックで範囲選択が解除されるので注意してください。

また、範囲選択しないでも、Tabキーで次に進み、右端のセルを入力後、そこだけEnterキーを押すと、Tabキーを押し始めたセルの下のセルに進みます。

こちらも、矢印キーやクリックをすると、Tabキーを押し始めたセルがリセットされます。

いずれにしても、矢印キーやクリックで、次の入力するセルを指定することは厳禁です。

ちなみに、Shift+Tabキーで、Tabキーと逆に、Shift+EnterキーでEnterキーと逆に動きます。

Qエクセル2010セル入力後指定の離れた場所に移動?

エクセルについての質問ですが、A1に文字を入力してEnterキーなどを押した後にA3などの離れた場所に自動で空白セルに移動させることはできるのでしょうか?いろいろ調べてみましたが解決できなかったのでわかる方がおりましたらお願いします。関数についてはよくわかりません。

Aベストアンサー

関数の問題ではありません。


ご相談に書かれたことは,例えば次のように設定しておくと出来ます。

手順:
A1セルを選び,ホームタブの書式▼から「セルのロック」を選ぶ(「セルのロック」の選択を外す)
A3セルを選び,ホームタブの書式▼から「セルのロック」を外す
必要に応じて,他の行きたいセルもセルのロックを外す

校閲タブから「シートの保護」を開始し,その際に「ロックされたセルの選択」のチェックを外してOKする。

A1に入力し,Enterすると,A3に移動する。

Q【Excel】希望したセルへ一発でジャンプするには?

たとえば、AX2490へジャンプしたいと思います。
Excelの標準機能で一発で移動する方法は無いでしょうか?

Aベストアンサー

こんばんは

既に答えは出ていますが
http://www.kenzo30.com/ex_kisopoint/onepoint_hensyu4.htm
(1)直接入力
 左上の名前ボックスに直接AX2490と入れてリターン
(2)名前ボックスの利用
 あらかじめジャンプ先で名前ボックスに定義しておくと
 リストボックスから選択できます。
(3)メニュー→編集→ジャンプ
 でジャンプ先を入力する。
 ショートカットキーはF5(又はCTRL+G)。

では。

Qエクセルでエンターを押すと任意のセルに移動は出来ますか?

エクセルでエンターを押すと任意のセルに移動は出来ますか?
A1のセルでエンターを押すとC1に移動するようにしたいです。
宜しくお願いします^^

Aベストアンサー

No.2の補足に対する回答です

Private Sub Worksheet_Change(ByVal Target As Range)
 Select Case Target.Address(False, False)
  Case "A1"       'このセルが変更されたら---(1)
   Range("C1").Select 'このセルに移動する---(2)
  Case "C1"       'このセルが変更されたら---(1)
   Range("A2").Select 'このセルに移動する---(2)
  Case "A2"       'このセルが変更されたら---(1)
   Range("C2").Select 'このセルに移動する---(2)
  Case Else
 End Select
End Sub

もし、A列を変更した場合に同じ行のC列、C列を変更した場合に次の行のA列というロジックであれば、
Private Sub Worksheet_Change(ByVal Target As Range)
 Select Case Target.Column
  Case 1 'A列が変更されたら---(1)
   Cells(Target.Row, 3).Select 'C列の同じ行に移動する---(2)
  Case 3 'C列が変更されたら---(3)
   Cells(Target.Row + 1, 1).Select 'A列の次の行に移動する---(4)
  Case Else
 End Select
End Sub

No.2の補足に対する回答です

Private Sub Worksheet_Change(ByVal Target As Range)
 Select Case Target.Address(False, False)
  Case "A1"       'このセルが変更されたら---(1)
   Range("C1").Select 'このセルに移動する---(2)
  Case "C1"       'このセルが変更されたら---(1)
   Range("A2").Select 'このセルに移動する---(2)
  Case "A2"       'このセルが変更されたら---(1)
   Range("C2").Select 'このセルに移動する---(2)
  Case Else
 ...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで最後の行までを選択

エクセルで1万行位あるものの1行目から最後の行までを一気に選択する方法はあるでしょうか?また、同じようにA列とB列のみを最後の行まで選択する方法もあるでしょうか?よろしくお願いします。

Aベストアンサー

こんにちは。

マクロなどが設定されていなければ、

シフトキーを押しながら、A1 の、セルの四角の底辺の枠線をダブルクリックすれば、その列が最後まで選択されます。A列B列のみなら、A列で、シフトキーを押しながら、B列のB1 のセルの四角の枠線をダブルクリックすれば選択されます。(ただし、空白セルが途中にあったら、そこでとまります。)

シフトキーを押しながら
+-------------+
|            |
|            |
+-------------+
   ↑
   ここをダブルクリック

QExcelで、セル入力後に次に移動するセルのアドレスを任意に指定することはできませんか?

Excelで、A1のセルでEnterを押したらC3のセルに移動するような指定の仕方はできないでしょうか?

(感じとしてはHTMLフォームのtabindex属性のような感じです)

縦移動or横移動しか選択できませんか?

Aベストアンサー

マクロを使う方法もありますが、移動先があらかじめ決まっているのであれば
Ctrlキーを押しながら移動する先のセルを順番に選択して範囲名を付けてはどうでしょう。

移動はEnterキーかTabキーで次に進んで、Shiftキーを押しながらEnterキーかTabキーで1つ前に戻ります。
カーソルキーを使ってセルを移動すると選択してある範囲がキャンセルされるのがチョット気になりますが
マクロを組むよりも簡単にできます。

Qエクセル 1文字入力すると自動で横にセル移動

現在エクセルを利用してアンケートの結果入力をしています。
各セルには1文字の数字しか入れないのですが、
「数字」⇒タブキー(横移動)で1つ1つ打っています。

しかし、タブキーを使用しているとうち間違いなどがあり、セルが一つずつずれてしまったりしてしまいます。

どうにかエクセルに1文字入力すると何のキーも押さずに
自動で横にセル移動してくれるというようなことを設定できないでしょうか?

初心者ですいませんが、お願いします。

Aベストアンサー

私もその手の仕事が多いのでご要望自体は非常によくわかるのですが、
確定する前の入力の有無を捉えるのは難しいと思われます。

ご要望の本質的な内容としては、
例えば、
 3⇒Tab⇒1⇒Tab⇒4⇒Tab⇒2⇒Tab⇒5⇒Enter
とする代わりに
 31425⇒Enter
で済ませたい、ということですよね。

で、代替案ですが、
特定の列に複数の項目をまとめて入力し、数式でバラすようにすれば、
結果として、ご要望と同様の操作で入力できるようになります。

入力する列の表示形式を文字列に設定し、例えば、"31425"のように入力。
表示する列でMID関数を用いて、例えば =MID(A1,3,1) のようにしておけば、
3文字目の4を取り出すことができます。

桁数を揃えるために、"31-25"のように、
無回答の際に入力する文字をあらかじめ決めておく必要があります。
(必要があればあとから置換等を用いて削除する)

その後の集計処理の方法によっては、=VALUE(MID(A1,3,1)) のようにして、
取り出した文字を数値に戻しておいた方が良いかもしれません。

また、入力ミスを防ぐために、データ>入力規則 で
入力可能な文字列の長さをあらかじめ指定しておくのも有効です。

項目数が多い場合には、一度にまとめて入力すると修正が困難ですから、
4ないし5項目ごとに入力列を分けた方が良いと思います。

以上、ご参考まで。

私もその手の仕事が多いのでご要望自体は非常によくわかるのですが、
確定する前の入力の有無を捉えるのは難しいと思われます。

ご要望の本質的な内容としては、
例えば、
 3⇒Tab⇒1⇒Tab⇒4⇒Tab⇒2⇒Tab⇒5⇒Enter
とする代わりに
 31425⇒Enter
で済ませたい、ということですよね。

で、代替案ですが、
特定の列に複数の項目をまとめて入力し、数式でバラすようにすれば、
結果として、ご要望と同様の操作で入力できるようになります。

入力する列の表示形式を文字列に設定し、例えば、"31425"のよう...続きを読む

QExcelでセルを次の行の先頭の列に移動させる方法を教えてください。

Excelでセルを次の行の先頭の列に移動させる方法があれば教えてください。
例えば、A1、B1、C1と順に入力し、C1のセルでEnterキーを押すと次の行の先頭列A2に入力セルが移動されるといった場合です。

Aベストアンサー

ツールバーのオプションで 編集のタブ 入力後の移動を 右 に設定しておきます。
入力範囲
仮に A1~C10までを選択して
A1入力 Enter B1入力 Enter C1入力 Enter おすと
A2に移動すると思います。

Qエクセルで多数のシートをまとめる方法

エクセルで10以上あるシートを一発でひとつにまとめる方法はあるでしょうか?

コピー&ペーストを繰り返すしかないのでしょうか…

仕事で明日やらなければならないので、
お分かりになる方、是非教えてください!

Aベストアンサー

まぁ既出回答にもあるように,10数回程度コピー貼り付けすることで,どうという作業ではないとは思います。

さておき。
ご利用のエクセルのバージョンが不明ですが,ご利用のOfficeのバージョンによっては

1.ワードを起動する
2.挿入のファイルからエクセルブックを指定する
3.添付図のようなダイアログが表示されたらラッキー成功です,ブック全体を指定して挿入する
4.Ctrl+Aで全体を選び,コピーして,エクセルの新しいシートに貼り付ける

と一発でできます。
添付図のようにならなかったときは,出来ません。


人気Q&Aランキング