• ベストアンサー

入力後、エンターで次に入力するセルに移動したい。

データ入力後、エンターで次に入力するセルに移動する方法等を教えて下さい。 質問1 次のように移動したいと思っております。      F12 → I12 → L12 → M12 → N12 → O12 → P12 →      改行して F13へ 質問2      その時、I列は平仮名入力で、入力出来るようにしたい。 御指導の程、宜しくお願い致します。

  • oguno
  • お礼率61% (179/289)

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です。 >その時、I列は平仮名入力で、入力出来るようにしたい を見逃していました。 I列のみIMEをONにして、その他の列はIMEをOFFにすればよいのですよね? 前回のコードはすべて削除して↓のコードに変更してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Intersect(Target, Range("F:F,I:I,L:P")) Is Nothing Or Target.Count <> 1 Then Exit Sub With Target If .Row >= 12 Then Select Case .Column Case 6 .Offset(, 3).Select Case 9 .Offset(, 3).Select Case 16 .Offset(1, -10).Select Case Else .Offset(, 1).Select End Select If Selection.Column = 9 Then With Selection.Validation .Delete .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _ :=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .IMEMode = xlIMEModeOn .ShowInput = True .ShowError = True End With Else With Selection.Validation .Delete .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _ :=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .IMEMode = xlIMEModeOff .ShowInput = True .ShowError = True End With End If End If End With End Sub 'この行まで 何度も失礼しました。m(_ _)m

その他の回答 (4)

回答No.5

質問中のアルファベットに全角と半角が混在している時点で マクロは不可と判断させてもらいます。 (1)GHJK列を非表示にする。 (2)表示されているFILMNOP列の入力したい範囲をマウスのドラッグで選択する。 または (1)Ctrlキーを押しながらFILMNOP列の入力したい範囲をマウスのクリックとドラッグで選択する。 こうすれば選択範囲をエンターキーのみで移動することが出来ます。 また、入力に失敗したときはShift+Enterで戻ることが出来ます。 ただし、その作業をしているときは選択領域が解除されるマウスでのクリックは厳禁です。

oguno
質問者

お礼

ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! Excelだとして・・・ IMEのON・OFFはExcelの機能ではないと思います。 そこでデータの入力規則で対応してみました。 (この部分はマクロの記録をそのままコピー&ペーストしています。) 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストし、各列にデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim j As Long If Intersect(Target, Range("F:F,I:I,L:P")) Is Nothing Or Target.Count <> 1 Then Exit Sub With Target If .Row >= 12 Then Select Case .Column Case 6 .Offset(, 3).Select Case 9 .Offset(, 3).Select Case 16 .Offset(1, -10).Select Case Else .Offset(, 1).Select End Select With Selection.Validation .Delete .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _ :=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .IMEMode = xlIMEModeHiragana .ShowInput = True .ShowError = True End With End If End With End Sub 'この行まで ※ 12行目以降ご希望の動きになるようにしていますが、行数の指定がないので 最終行までの動きとなります。m(_ _)m

  • dezimac
  • ベストアンサー率56% (2365/4208)
回答No.2

Excelだったら 回答1 隣のセルへの移動はtabキーで行います。 F12(tab)→中略~P12(Enter) F13 と移動します。 回答2 入力規則で対応できます。 http://office.microsoft.com/ja-jp/excel-help/HP010072600.aspx 対象のセル(列)を選択して メニューバーの [データ]→[入力規則] 日本語入力タブを選択してオンにすればいいです。 I列では日本語入力をオン F列やL列は日本語入力をオフ(英数モード) にしておけばいいです。 入力する内容(整数とか日付け)が決まっているのなら、入力規則を活用すれば入力ミスは減らせます。

回答No.1

Excelかな?Excelとは書いてないしそうならカテ違いだけど一応Excelのことと仮定します。 >F12 → I12 → L12 → M12 → N12 → O12 → P12 → >改行して F13へ >その時、I列は平仮名入力で、入力出来るようにしたい 無理です。そんな個人のわがままに対応できるほどExcelはすごくありません。 まあ、マクロを入れたら不可能ではないと思うけど…わざわざそんなことするよりTab使ったほうがいいし。 横移動はデフォルトでは「Tab」キーでできます。 Tabで横移動後にEnterで下移動すると、次の行の「Tabで横移動し始めた最初の列」に移動します。

oguno
質問者

お礼

御回答ありがとうございました。 手が不自由ものですから悪しからず。

関連するQ&A

  • テーブルでEnterしても次の行の冒頭に移動しない

    エクセル2007挿入からデータ範囲をテーブルに設定すると Enterキーを押すと次の行の1列目に移動する、と 何かで読んだのですが 真下のセルにしか移動しません。 次の行のA列に移動するにはどうしたらいいですか? 別にテーブルでなくても次の行のA列に移動できれば何でもいいです ちなみにテーブル範囲はA~AL列 列によっては関数や入力規則が設定されている。 あまり入力されない(空白)列もある。 一番多いのはA~P列まで入力して次の行に移動するパターン。 途中列でEnterしても最終列まで行ってEnterしても下のセルにしか 移動できませんでした。

  • エクセルの入力でセル移動

    MSのエクセルで、セルに指定された文字数を入力したらEnterや矢印キーを押さなくても次のセルに移動させる方法はないでしょうか? 例えばA1セルに入力出来る文字数は3と指定しておきます。A1セルに3文字入力したら、次のセルA2に移動するようにする方法です。入力規則で文字列指定まではできますが、次にセルに移動するにはEnterなどが必要です。これを省略する方法です。 バージョンは2003ですが、2007,2010でできるのでしたらそのバージョンでも構いません。

  • Excelで、Enterキーでセルの移動ができない

    Enterキーで下のセルに移動をすることができなくなり、 逆に、Altを押さなくてもセル内で改行がされるようになりました。 また、セルを選択しただけでは入力できず、 入力するためにはダブルクリックしなければならなくなりました。 これはこれで便利な時もありそうですが、やっぱり今はEnterでセル移動がしたいです… 特に設定を変えたつもりはないのですが、 元に戻す方法を教えてください。 Microsoft Excel 2003 を使っています。 宜しくお願いします。

  • EXCEL2013セル左移動と改行

    質問タイトルについて教えて頂きたいです。 〇条件として ・EXCEL2013 ・エンターキー後のアクティブセルの移動方向を左に設定 ・シートを保護し、HとDの列のみ入力可能 ◇求める動作例として H3に入力しエンター ⇒ D3に移動、入力しエンター ⇒ H4に改行 H4に入力しエンター ⇒ D4に移動、入力しエンター ⇒ H5へ改行 … といった感じです。 ●困っている点として H3でエンターを押してもD3に移動しない D3でエンターを押してもH4に移動しない ※セルの移動先が右であれば、D3からH3へ移動後D4へ改行できる のですが、左移動だと不可能でしょうか? シートの保護を外した状態では ・H3からG3,F3と移動はします。 ・改行はしません。 よろしくお願います。

  • Enterキーで順番にセルの移動する。

    Excel2013 Enterキーを押すと隣りのセルに移動ではなく、次に入力したいセルにカーソルが移動するようにしたいです。 たとえば、 必要事項を入力する書類で、B2のセルに入力したら次はD5のセルに入力、次はA6に入力といった書類あり、Enterキーを押して次の入力セルに移動するようにしたい。また、書類の書式を崩されたくないのでシート保護して使いたいです。 Enterで進み、戻る時はUPキーか、↑キーなどで設定したいと考えてます。 どなたか、VBで教えてくださる方お願いします。

  • 入力後enterを押すと、非保護の別セルへ移動したい。(エクセル)

    エクセル2000での質問です。 入力用シートと印刷用シートを作りました。 入力シートは、数個の入力欄のセルのロックのチェックボックスを外してシート保護しました。 tabキーで次の入力セルに選択セルが移動するようになりました。 入力欄(セル)に文字や数値を入力後、enterを押すと、次の入力欄に移動するにはどうすればよいのでしょうか? 今は、enterを押すと、保護されている使用しない下のセルに移動します。 週個の入力欄(セルは)隣接しておらず、シート上にまばらに配置してあります。 教えてください。よろしくお願いします。

  • エクセルのセルをENTERで指定箇所に移動させる

    ということをしたいと思っています。といっても、そんなにややこしい移動でなく、 A1B1,A2B2,A3B3というように、 右に一度進んだら斜め下に行く、という作業を繰り返したいだけです。 つまり、B列の入力をした後は必ずA列に戻って次の行から入力できる状態にしたいのです。 なお、移動にはENTERを使いたいと思っています。 CTRLで入力するセルに順番と名前をつけてやる方法を自分で見つけてやってみたのですが、 これだと、一度でもこの範囲内からはずれてしまうと、また一からの入力になってしまいますし、 理想はこのA列B列のどこから入力を開始しても、B列入力の後は次の行のA列に移動する、ということなのですが、、、。 入力しないセルをロックして保護する、という方法もやってみたのですが、私が何か間違っているのでしょうか、C列をロックしてもうまくいきませんでした。 なぜこのようなことをしたいかというと、誰でも使いやすいフォーマットを作っておきたいため、 このようにセル移動するシートを作成したいのです。 どなたかもしいい案があればどうぞお願いいたします。

  • 入力セルをEnterのみで任意に動かしたい

    入力するセルをEnterキーのみで、たとえば、 B6→C6→G6→J6→B7→C7→G7→J7・・・ のように右方向へ幾つか飛ばして移動し、 右方向へは、各行同じ列のセルに入力します。 Jのセルまできたらその下の行のBに行くというふうに変えたいのですが、 どのようにしたら良いのでしょうか? 何方かお知恵をお貸しください。

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

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

  • 一つのセルに複数行入力したい

    類似質問がありそうですが、見当たらないので質問します。 一つの列だけ、説明文書が長くなります ここのセルに複数行入れられないでしょうか enterキーで改行して・・は難しいでしょうか 改行する時は何か記号入力してもいいです 出来れば、セルを合併したり、難しいことせずに 単純にしたいです よろしくおねがいします