dポイントプレゼントキャンペーン実施中!

エクセルでアンケートのデータを入力しています.
1人分を横に入力しており,すべて同じ項目数(A~Z)です.
この時,1人分が終わったら,自動的に次の行の項目Bに移動
することはできないでしょうか?
例えばZ10が終わったら(あるいはAA10に来たら),B11に移動して欲しい.
カーソルキーやHomeキーで移動してますが,大変しんどいです.
関数あたりがあれば一番嬉しいのですが.
マクロでもやってみます.良い知恵をご指導下さい.

A 回答 (11件中1~10件)

自分はExcel2000を使っていますが、Z列でEnterを押下すると次行のA列に移動しました。



ANO4様と自分のサブルーチン名が少し違います。
サブルーチンには2種類あります ???
1.他のルーチンから呼び出されて動作する
2.イベント(出来事?)が発生したときに動作する

今回は後者のサブルーチンです。
サブルーチン名を見比べてください
ANO4様…Private Sub Worksheet_Change(ByVal Target As Range)
自分……Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Worksheet_Change:どこかのデータが変化したときに動作します。
従ってデータを入力しなければ動作しません

Worksheet_SelectionChange:セルが移動したときに動作します。

どちらも次の命令で条件式が入っています。
アクティブになっているセルの列が26番目(27番目)のとき次行のA列へ移動

うまく説明できませんが、ご理解いただけるでしょうか
    • good
    • 0
この回答へのお礼

分かりました.小生1行目を直しておりませんでした.試したところ,
最後が未回答でEnterを入力してもうまく自動改行できました.
セル値の変化とセル移動の検知の違いだったのですね.

お礼日時:2006/10/15 21:33

No.4です。


なかなか「これで完璧」というのは難しいですね。
No.4のマクロの下に、念のため下のマクロを追加してみてください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 27 Then
Cells(Target.Row + 1, 2).Select
End If
End Sub
    • good
    • 0
この回答へのお礼

ダミーの項目を設けるのですね.分かりました.

お礼日時:2006/10/15 21:36

NO7です。

 バージョンが2000の場合、シートの保護で「ロックされたセル範囲の選択」という項目はないですが、シートのプロパティに該当する項目があります。
VisualBasicEditerを開いて、該当のシートをプロジェクトエクスプローラから選びます。
プロパティウィンドウにある「EnableSelection」という項目を「1-xlUnlockedCells」にします。
こうしてからシートの保護をするとうまくいきます。
ただし、ブックを保存しても設定は保存されないので注意が必要です。
ブックを開くときにそのように設定するマクロを実行するようにしてやるといいかと思います。
該当シートがSheet1だとした場合ThisWorkbookモジュールに
Private Sub Workbook_Open()
Worksheets("Sheet1").EnableSelection = xlUnlockedCells
End Sub
と入れるといいでしょう。
    • good
    • 1
この回答へのお礼

2000を使用する際には覚えておきたいと思います.
ありがとうございました.

お礼日時:2006/10/15 21:35

ANo.4様にヒントを得ました


VBAを次のようにしてみて下さい

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 27 Then
Cells(Target.Row + 1, 1).Select
End If
End Sub

ANo.7様の手法が分かりやすいですが、
仰るとおり 2000では通用しませんね

自分も勉強になりました。ご両名の方有難うございました。
    • good
    • 0
この回答へのお礼

やってみました.今度はZではなくAAで自動改行し,次のAに行きました.
=27ですからAAで改行,+1,1ですから次行のAに行くのだと思います.
ANo.4様に比べどのような点が良いのでしょうか?
なお,未回答のEmterで右へ行く動作は同じでした.

お礼日時:2006/10/15 11:17

エクセルのバージョンは何でしょうか?2002以降の場合の方法です。


シートの保護を利用する方法です。
まず、入力する列を選択して「セルの書式設定」の保護タブで「ロック」のチェックを外します。
ツール→オプション の編集タブで「入力後に移動する方向」を右にします。にします。
ツール→保護→シートの保護 で「ロックされたセル範囲の選択」のチェックを外します。
Enterキーで右に移動していき、最後の列でEnterキーを押すとひとつ下の行の左端(入力可能範囲で)に移動します。
    • good
    • 1
この回答へのお礼

2002ですのでうまく行きました.マクロとロックの両方を知っておけば
どのバージョンのエクセルで分業しても何とかなりそうです.
Win98を使用している作業者もいますので2002以上かどうかも
チェックしてみます.

お礼日時:2006/10/15 11:08

1/です。


>うまく動きました.ただ用紙を素早くめくる必要があるので,
>左手のTabが結構苦しいです.

実は私もそうです。(前述のは教科書の回答です)
しかも最近はExcelをあまり使わず、OpenOffice.orgのCalcという表計算を多用しています。
このソフトには前述のTab移動Enter戻り、という機能がないこともあり、
実は、予め必要範囲を指定しておき、Enterで移動(右へ)、
戻るときは、Shift+Enterで戻る、で作業することが多いです。
    • good
    • 0
この回答へのお礼

Calcですか.個人の時は使えそうですね.
多くの場合,入力は分業なので,どのPCでも普通に使用できることが
求められています.自分だけCalcで入れて,合わせる時にエクセル
にするのも不可能ではないですが,今回は同じ環境でやってみます.

お礼日時:2006/10/14 23:18

まずメニューの「ツール」→「オプション」をクリックし、「オプション」のダイアログボックス


で「編集」タブをクリックします。「入力後にセルを移動する」項目で方向を「右」に変更します。
後は実際の入力作業のときに、入力する範囲を選択しておいて入力していって下さい。
例えば列「A~Z」行「1~40」の範囲を選択して、「A1」から順に右へ移動していけば、最後の列「Z」で改行すると「B1」へ移動します。
    • good
    • 0
この回答へのお礼

うまくできました.ただ,アンケートの場合,入力ミスを直したく
なり,矢印キーやマウスをつい操作してしまいます.すると
入力範囲が消えてしまい.一気入力もままならず.難しいところです.
範囲に名前をつけて,消えてもすぐ再指定できるようにしてみましたが,
数百件もあるとカーソル移動が大変です.

お礼日時:2006/10/14 23:33

・Alt+F11でVBEを開いて、左のSheet1をダブルクリック(違うシートなら、アンケートを入力するシートをダブルクリック)


・右側に以下のマクロをコピーして貼り付ける。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 26 Then
Cells(Target.Row + 1, 2).Select
End If
End Sub

うまくいかなかったら、補足してください。
    • good
    • 0
この回答へのお礼

Z=26なら次行のb=2にセルを移動するのですね.
やってみたらほぼうまく動作できました.
惜しいのは,行の最後が未回答で空欄のためenter入力すると,
そのまま右に抜けてしまう点です.
enterは右の指定をしているので仕方ないのですね.
入力時に最後がenterの場合は少ないですから十分カバーできます.

お礼日時:2006/10/14 23:12

「ツール」→「オプション」→「編集」タブの


「入力後にセルを移動する方向」を「下」に変更します。
入力中は、1セル入力ごとに「TAB」キーで右に移動し、「ENTER」キーで、最初のセルの下に移動できます。
    • good
    • 0

同じ入力を繰り返してるなら 右の升にはtab 下に移るにはreturn


間違えて戻ったりしなければ開始した地点を基準にreturnで下に送った時に始点の下に来てくれる筈だけど・・・?(tabで横に移動してる時限定みたいだけど
    • good
    • 0
この回答へのお礼

この「間違って」が曲者です.アンケートの回答は結構読みづらく
ミスタッチならぬミス読みや読み直しが頻繁です.
リターン時にありゃりゃが結構多いです.

お礼日時:2006/10/14 22:05

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