エクセルでAからEまで5項目の入力をしています。
E1のセルまで入力した後、リターンキーを押すと
自動的にA2のセルに移行するように設定することはできるのでしょうか。

A 回答 (4件)

こんにちは



 以下のページもご参考になるのでは?

【エクセル技道場】-セル選択-自動リターン機能
http://www2.odn.ne.jp/excel/waza/cell.html#SEC3

参考URL:http://www2.odn.ne.jp/excel/waza/cell.html#SEC3
    • good
    • 0

ちょっと裏方法(反則?)ですが・・・。



ツール→オプション→編集タブで
□入力後移動する にチェックが入っている状態で移動する先を▼をクリックして、右に変えます。

その上で、必要な範囲をドラッグ(白黒反転で範囲指定している状態)にして下さい。
例えば30行目までをこの方法で入力したいのなら、A1から、E30を範囲指定します。

これで、Enterキーを押せばキーは右隣に移動し、E列までくれば次の行のA列へいくようになります。

ただし、これは1つのファイルだけではなく、エクセルそのものの設定になるので
この作業が終わった時に、はじめのツール→オプション・・で▼で移動先を下に戻さないといけません。忘れると、他のファイルの時にも同じ動き(右に移動)をするので・・・。
    • good
    • 0

範囲選択した状態で入力するとできます。



例)A1からE10までデータを入力する場合

1)あらかじめ、A1からE10を範囲選択します。
2)A1のデータを入力しTabを押します。
    範囲選択は解除されないまま、
    アクティブセルはB1に移動します。

範囲選択した状態で入力すると、以下の通りキーを使うと
選択した範囲内だけでアクティブセルを動かせるようになります。

上:Shift+Enter
下:Enter
左:Tab
右:Shift+Tab

ただし、上記の状態で入力中に誤って矢印キーを押してしまうと
範囲選択が解除されますのでご注意ください。
    • good
    • 0

こんにちは.


設定ではないのですが,
A1からE1まで[→]キーで移動しながら入力しているのでしょうか?
その場合A1からB1,C1に移動するのに[TAB]キーを使ってみてください.
そうすると最後にエンターキーを押すとA2にカーソルが移ると思います.
やってみてください.
    • good
    • 0

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

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

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

Qパソコンのエンターキー(Enter)を押す時って、気合が入ってませんか?

パソコンのエンターキーですが、知り合いは、“オリャー”とか言いながら、力強く押します。

皆さんは、エンターキー(Enter)を押す時って、気合が入ってませんか?

Aベストアンサー

待ってました、この質問!!
もうね、エンターキーを押す音、みんなうるさすぎ!!
マジ迷惑!
もうね、それを繰り返している人を見ると、
気〇いかと思ってしまう・・・

他の人の身にもなってほしい。
しかも、正しくはエンターキーは小指で押すもの。
気合い入れて大きな音で叩いている時点で、
叩き方間違ってます。

QA1セルにAと入力すると、A2セルに3000A3セルに2000A4セルに1000と表示させたい。

A1セルに「A」と入力する1回だけで、
A2セルに「3000」
A3セルに「2000」
A4セルに「1000」
A5セルに「合計数字」を表示させたいのですが、
式をご教授願いたいです。

よろしくお願いします。

Aベストアンサー

D1:G3
A500030001000
B500300130
C1200800300
A1にA,B,Cのどれかを入れる。
A2に =VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE)と入れて、
A4まで(G-D-1列数だけの行数)式を複写する。
結果
A1がBの場合A1:A4は
B
500
300
130

A1の空白の場合に対処して
=IF(A1="","",VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE))
が良いでしょう。
(既回答とほぼ同じ式ですが、1箇所違うところがあります。)

QWord2007 表内でEnterキーで行を増やす

前はできたのに方法がわからなくなってしまいました(涙)

ワード2007で表を作成していて,
エンターキーで行を増やしたいです。

枠の外でエンターキーを押して行を増やす方法は知っていますが,
それ以外に,表の中でエンターキーを押して行を増やすことができたはずなのです。

この方法だと,
枠内に文章を打っていて,確定させた後,カーソルを動かさずにそのままエンターを押せば行が増えるので,便利でした。

ただ…やり方がわからなくなってしまいました。

おわかりの方,教えてください。

Aベストアンサー

すでに質問者自身で気が付いていますが、表を使ったものではなく
[段落罫線]で囲った段落での改行なのでしょうね。

表ならば、行列指定ができますが、段落罫線で囲ったものの場合、
段落単位になりますから、列の追加はできませんし、罫線内での
改行ができない場合もあります。同じスタイルの段落を外枠のみ
囲む設定にすることは可能ですが、区切り罫線なしになります。

2行(2つの段落)を選択して[線種とページ罫線と網掛けの設定]
から[設定対象]を[段落]にして囲む罫線と間の罫線を設定します。
http://www.relief.jp/itnote/archives/002860.php
http://allabout.co.jp/gm/gc/297937/

これを使えば、[ Enter ]キーで囲まれた罫線を追加できます。

QA1セルに入力したら、入力時間をA2セルに自動挿入

こんにちはtmgmです。

Excelでちょっと困っています。
「A1セルに文字を入力したときの時間をA2セルに表示する」ということがやりたいのですが、
実際やってみるとなかなか出来ませんでした。

A2セルの書式をhh:mmなどにして、セルに=if(A1<>"",NOW(),"")と書きました。
これで一応A1セル入力でA2セルに時間は挿入されますが、Excelの自動計算機能により、一度閉じてまた開いた場合や他のセルで自動計算を行うような入力をした際などに時間が更新されてしまいます。
時間が更新されてしまってはだめなんです。

かといってツール→オプションから自動計算を手動にすると、その他の計算(例えばSUM関数など)の自動計算に影響がでて、使い勝手が違ってくるし。。。。


どうすればよろしいんでしょうか?
お分かりになる方ご返答宜しく御願い致します。

Aベストアンサー

VBAで。

シート名を右クリックしてコードの表示を選び、出てきたVBE画面(何か書かれていたら消して)に書きます。

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range
 For Each r In Target
  If r.Column = 1 Then
    r.Offset(0, 1).Value = Format(Now, "hh:mm:ss")
  End If
 Next r
End Sub

試すのはテスト環境で。

QEnterキーを押されたら次の処理に移るという事をしたい。

コンソールアプリケーション上で文字列を表示させた後、ユーザーがエンターキーを押したら次の文字列を表示するという仕様にしたいのですが、エンターキーだけ入力待ちにするっていうのはどのように書けばいいんでしょうか?

Aベストアンサー

#include <stdio.h>

int main(void)
{
char *str[] = {"abc", "def", "ghi", "jkl"};
int i;

for(i = 0; i < 4; i ++){
while(getchar() != '\n') ;
puts(str[i]);
}
return 0;
}

QExcel・数式入力中に矢印キーを押すと、セルの位置が入力されて困っています。

題名のとおりなんですが、どうすればいいんでしょうか?

Aベストアンサー

矢印キーを押す前にF2キーを押してみましょう。

QJOptionPaneの「いいえ」をEnterで

こんにちは。
現在、JOptionPaneを使って出したダイアログのボタンを
エンターキーで選択したときの処理についてこまっています。
「いいえ」のボタンをエンターキーで押すと、
なぜか「はい」を押したときと同じ処理をしてしまうのです。
これを防ぐには、どうすればよいでしょうか?

以下、ソースコードの一部です。

//「はい」「いいえ」の結果を受け取る変数を宣言
int sentaku = 1;

//ダイアログボックスを表示する処理
sentaku = JOptionPane.showConfirmDialog
(null, "本当にこのイベントを削除しますか?", "削除確認" ,0);

//上のダイアログボックスで選択された結果をコンソールに出します。
System.out.println("本当に削除しますか?(0:はい 1:いいえ)→"+sentaku);
//ここで、「いいえ」をエンターキーで押すと、sentakuが0を返してしまいます。
//スペースキーで押すと、sentakuは1を返してくれました。

Aベストアンサー

エンターキーは選択中のボタンではなくデフォルトのボタン(YES_NO_OPTIONの場合YESボタン)を押したことになる仕様のようです。スペースキーとは意味が異なります。
デフォルトのボタンを変更することは可能ですが、エンターキーの動作をスペースキーと同じにする方法は見つけられませんでした。

Qエクセル2007で例えばセルA1~A100まで数字が入力されているとし

エクセル2007で例えばセルA1~A100まで数字が入力されているとします。この範囲の同じ数字だけ抽出(桐みたいような単一化機能)する方法はありますか?
例セル 1,5,6,7,5,8,9,8,2
抽出後 1,2,5,6,7,8,9

Aベストアンサー

A1~A100を選択し、ホームタブの「データ」「詳細設定」で「重複するデータは無視する」にチェックを入れ(必要に応じて抽出範囲を指定して)、「OK」すれば重複のないデータが抽出されます。

QコマンドボタンのEnterイベント後に、フォーカスを移動したい。

コマンドボタンのEnterイベント後に、フォーカスを移動したい。

フォームに「TextBox1」(TabIndex=0)「TextBox2」(TabIndex=1)「CommandButton1」(TabIndex=2)の3つのコントロールがある場合。

CommandButton1がクリックされた場合も、TextBox2からCommandButton1に、タブキーまたはエンターキーで、フォーカスが移った場合にも、同じ処理を行い、処理結果によってTextBox1やTextBox2にフォーカスを移したいと考えています。

以下のようなサンプルを作成しました。

Private Sub CommandButton1_Enter()
CommandButton1_Click
End Sub

Private Sub CommandButton1_Click()
MsgBox ("OK")
TextBox2.SetFocus
End Sub

この場合、CommandButton1_Enterのイベントが起こった場合、CommandButton1_Click()のTextBox2.SetFocusは効きません。
(正確には、CommandButton1_Enterイベントが終わった時点で無効でしょうか。)

Enterイベントは、フォーカスが移動する前に発生するため、このイベントが終わった後に、そもそもの動作に戻り、フォーカス移動が発生してしまうからなのだと思っております。

要は、コマンドボタンにタブキーやエンターキーでフォーカスしても、コマンドボタンをクリックしたのと同じ処理を行い、所定の位置にフォーカスを持っていきたいのですが、どのように行えば良いか、わからない状況です。

よろしくお願いいたします。

コマンドボタンのEnterイベント後に、フォーカスを移動したい。

フォームに「TextBox1」(TabIndex=0)「TextBox2」(TabIndex=1)「CommandButton1」(TabIndex=2)の3つのコントロールがある場合。

CommandButton1がクリックされた場合も、TextBox2からCommandButton1に、タブキーまたはエンターキーで、フォーカスが移った場合にも、同じ処理を行い、処理結果によってTextBox1やTextBox2にフォーカスを移したいと考えています。

以下のようなサンプルを作成しました。

Private Sub CommandButton1_Enter...続きを読む

Aベストアンサー

No.1です。

> 結果、textBox2ではなく、textBox1にフォーカスが移動してしまいました。

Windows XP Home・Excel2003/l2007のユーザーフォームにて、同じ動作に
なることを確認しました。
確かに、BENGALさんが質問文で記述されているように、Enterイベントの
発生するタイミングが「フォーカス移動の直前」であるために、VBAでFocusを
設定した後に、Enter/Tabの入力が反映されてしまっているようです。

試行錯誤の末、一応、「TextBox2のExitイベントを制御するための変数を
モジュールレベルで宣言」することにより、TextBox2にフォーカスを残すように
できました・・・が、今度はコマンドボタンのクリックによる移動の場合に、
TextBox2から抜けるのに2回Enter/Tab/Clickが必要になってしまいました(汗)
(Accessと違い、Excelのユーザーフォームでは、SetFocusによる移動時には
 Enterイベントが発生しないらしく、フラグが意図した通りに初期化されない)

ともあれ、こちらで試したコードを以下に提示します:


Option Explicit

'TextBox2のExitイベントを制御する変数を宣言
'(=TextBox2のExitイベントをキャンセルさせるためのフラグ)
Private bolT2Hold As Boolean

Private Sub CommandButton1_Enter()
  MsgBox "Ok"
  'Exitイベントのキャンセルフラグをオンにする
  bolT2Hold = True
  TextBox2.SetFocus
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  'フラグがオンの場合はExitイベントをキャンセルしてフォーカスを保持する
  Cancel = bolT2Hold
  'フラグを初期化(TextBox2の編集後などにまでキャンセルされるのを回避)
  bolT2Hold = False
End Sub


CommandButton1で立てるフラグをTrue/Falseではなく時刻の記録とし、
「TextBox2のExitイベント発生時の時刻とほぼ同時ならキャンセル」と
いうのも試してみましたが、Tabキーを押しっぱなしにした場合などの動作が
結局制御できていない状態になるため、断念しました(汗)

以上、中途半端な回答で申し訳ありませんが、参考まで。
(通常通り、コマンドボタンのクリック/コマンドボタン上でのEnterキー入力で
 対応した方が、(特にExcelユーザーフォームでは)制御しやすそうです(汗))

No.1です。

> 結果、textBox2ではなく、textBox1にフォーカスが移動してしまいました。

Windows XP Home・Excel2003/l2007のユーザーフォームにて、同じ動作に
なることを確認しました。
確かに、BENGALさんが質問文で記述されているように、Enterイベントの
発生するタイミングが「フォーカス移動の直前」であるために、VBAでFocusを
設定した後に、Enter/Tabの入力が反映されてしまっているようです。

試行錯誤の末、一応、「TextBox2のExitイベントを制御するための変数を
モジュールレベルで宣...続きを読む

QエクセルVBA セルの入力後「Delete」キーを押したか判断するプログラム

セルに入力したあとその入力したキーが「Delete」キーかどうか判定するプログラムを作りたいのですが、下記のようにコードを書きました。

'標準モジュール
Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long

'Microsoft Excel Objects(ワークシート)
Private Sub Worksheet_Change(ByVal Target As Range)
If GetAsyncKeyState(46) <> 0 Then 'キーボードの「Delete」キーかどうか判定
○○
Else
○○
End If
End Sub

ところが、「Delete」キーを押してもGetAsyncKeyState(46)の値が「0」になり、「Delete」キーを押してないことになってしまいます。どのようにすればよいのでしょうか?
回答よろしくお願いします。

Aベストアンサー

#1 のコードを部分訂正。。。。

どうも、こうやらないとダメみたい。

' // DELキーを送信
Call Auto_Close
AppActivate Application.Caption
SendKeys "{DEL}", True
Call Auto_Open


人気Q&Aランキング