• ベストアンサー

指定以外のセルからの移動

入力するセルが数箇所(場所は離れた所)と決まっています。 入力するセル以外にはロックをかけて、ctrlを押しながら選んでおくと、セル入力でEnterを押すと、選んでおいたセルに移動することは、他のスレから教えていただいたのですが、逆に入力するセル以外をクリックなどで選択してしまった場合、ある決まったセルへ自動的に戻るような方法はないでしょうか? 例)入力するセルは、A1,B2,C3の3つ   この3つのセル以外を選択すると、自動的にA1に戻るようにしたい。 回答よろしくお願いします。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.9

> 結合させていても1回のEnterで次のセルへ移動してくれれば... 入力したあと、[Enter] ではなく、[Tab]キーならどうでしょうか? [Enter] で...ということであれば、他回答者様が提示されている 方法にするか、または併用するのが良いと思います。 > あと、同じbookの他のシートにも同じようにするには... Thisworkbook モジュールに次のように書き込めば、ブック内の全て が対象になります。 Private Sub Workbook_Open()   Dim sh As Worksheet   For Each sh In ThisWorkbook.Worksheets     sh.EnableSelection = xlUnlockedCells   Next End Sub

smilepick
質問者

お礼

ありがとうございます。 他の回答と併用&入力後のセルの移動方向の変更などを組み合わせて、思い通りにできました。 大変たすかりました。 他の回答者様も含めて、ありがとうございました。

その他の回答 (8)

noname#79209
noname#79209
回答No.8

直接の回答ではありませんが... 私の場合、エクセルにマクロは極力使わないようにしています。 マクロが入っていると、PCのセキュリティーレベルによっては 「このファイルはマクロが入っている。ウイルスかも知れない」という 警告メッセージが出ます。 自分一人で使う分には構わないのですが、職場などで他の方々もつかう環境では、 「ウイルス」という語句に過剰反応して「ウイルスが入っている!」と騒ぐ人が 必ずいます。(特に年配の上司) 老婆心ながら...

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.7

> 実際のシートでやると、同じところを行ったり来たり(A1とB2しか往復しない)してしまいます。 > 実際のシートはセルの結合を行っているからでしょうか。 ・結合セルがきちんと「ロック解除」されてますか? ・他のマクロが動いてませんか? すみません、こちらでテストする限り問題ないので、これ以上 は何ともアドバイスできそうもありません。。

smilepick
質問者

補足

ありがとうございます。 「A1とB2を行ったり来たり・・・」の件ですが、 Enterキーを押し続けると、C3にも移動することが分かりました。 例えば、A1を他の3つのセルと結合させていると、3回Enterを押すと次のセル(B2)に移動しました。 結合させていても1回のEnterで次のセルへ移動してくれれば完璧なんですが。 あと、同じbookの他のシートにも同じようにするには、どう書き込めばいいのでしょうか? (別シートの移動したいセルは全て異なります)

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.6

No.1,4です。 No.5さんの方法でExcel2000でも出来ます(確認しました) 私も知らなかったので勉強になりました。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.5

> この3つのセル以外を選択すると、自動的にA1に戻るようにしたい。 逆に、ロックされたセルは「選択できない」ようにするとか。 目的によっては、向かないかもしれませんが、紹介しておきます。 1. ThisWorkbook モジュールに下記のコードをコピペ 2. ブックを保存し、開き直す 3. Sheet1 を保護します Private Sub Workbook_Open()   Worksheets("Sheet1").EnableSelection = xlUnlockedCells End Sub なお、この機能はシートが保護されている時のみ、有効なので、 保護解除すれば、また全てのセルが選択可能になります。 # Excel2000 に EnableSelection プロパティーがあったかは # 覚えてません。。

smilepick
質問者

お礼

ありがとうございます。 思っていたとおりの動作になりました。

smilepick
質問者

補足

お礼の方、間違って書き込みしてしまいました。 選択できないようにするという逆の発想もあるんですね。 サンプルでやった無地の新規シートでは、お礼に書いたとおりうまくいったのですが、 実際のシートでやると、同じところを行ったり来たり(A1とB2しか往復しない)してしまいます。 実際のシートはセルの結合を行っているからでしょうか。

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.4

No.1です。 No.2さんの方法はExcel2000では出来ませんので、VBAになりますね。 以下のような感じでしょうか。 「選択したセルがロックされている場合、A1を選択する」 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Selection.Locked = True Then Range("A1").Select End If End Sub

smilepick
質問者

お礼

ありがとうございます。 思っていたとおりの動作になりました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

入力シートの「シート名右クリック」→「コードの表示」で開く画面に以下のマクロを貼り付けます。シートに戻って動きを確かめてみてください Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim r As Range Set r = Intersect(Target, Range("A1,B2,C3")) If r Is Nothing Then Range("A1").Select End Sub

smilepick
質問者

お礼

ありがとうございます。 思っていたとおりの動作になりました。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

いくつか勘違いされているようですね。 >入力するセル以外にはロックをかけて~ これは、ロックされたセルの選択をしないように指定して【シートの保護】を掛けた場合に有効になる方法です。 シートを保護した場合、EnterキーやTabキーを押すとロックの掛かっていないセルの間を移動するようになります。 ロックされたセルを選択できるままシートの保護を行なうと、Tabキーでロックされていないセルの間を移動するようになります。 この場合、Ctrlキーを押しながらロックされたセル範囲も選択することができます。ただし入力や編集はできません。 ロックされたセル範囲を選択しないように設定してシートを保護することをお奨めします。 ちなみに、セルの保護(ロック)の状態を監視しつつ、 >例)入力するセルは、A1,B2,C3の3つ >  この3つのセル以外を選択すると、自動的にA1に戻るようにしたい。 このような動作はマクロを記述してVBAで行なう以外に方法はありません。 残念ですが、自分はVBAには詳しくないため上記の方法を示すことができません。 他の方の回答を参考にしてください。 ※シートの保護  ツール → 保護 → シートの保護 → (ロックされたセル範囲の選択のチェックマークを外すなど) → OK

smilepick
質問者

補足

省略して書いていました。 すいません。 ロックをかけて・・・→保護のロックのチェックを入れて、シート保護 までを「ロック」の一言で書いてしまいました。 文章ですので、こと細かく正確に書かなければいけないですね。 VBAしか方法はないですか・・・。

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.1

Excelのバージョンは何ですか? 私が使っているExcel2003では、 特定セル以外は選択できないように出来ますが。

smilepick
質問者

補足

すいません。 エクセルのバージョンは2000です。

関連するQ&A

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

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

  • セルの移動

    エクセルにデータを入力するときに、数字をいれてENTERキーを押すと次に入力するセルが下にいってしまうので、またいちいち右のセルをクリックしないとなりません。 これってこういうものなんですか? けっこう数があるので面倒です。 ENTERキーを押したら右に自動で移動してくれるようになりませんか?

  • セルの自動移動

    エクセルで、入力後次のセルに移動するにはEnter等を押す必要があります。 シートに入力フォームを予め作っています。 1つのセルには1文字しか入力しないのですが、1文字を入力したら(Enter等を押さずに)自動的に次のセル(指定したセル)に移動することはできませんか? 例: セルB1に「1」を入力(1キーを押す)と次に入力したいB2へカーソルが移動

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

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

  • セルの移動(マクロ)

    今晩は! お世話になります。 エクセルで多量データ(500行以上)あります。 本来ならば、データ量が多い場合、アクセスを使用した方が良いのかもしれませんが、データを元にグラフ作成等行う為、エクセル使用しています。  そこで、500行以上の次行に入力する際、スクロールするのは面倒なので、ボタン一つで入力する先頭行に移行するマクロを作成したいのですが、まだ自分でプログラムを作成するのは難しく、本などで同じ目的のマクロを見つけ、移している程度です。 今回、同じ目的のマクロが見つからず、ショートカットキーで行うやり方の必ず漏れがなく入力される列(No.「A列」)にセルを選択し、”Ctrl+↓”で入力済みの最後尾に移動。その後”Enter"で次行、入力するセルに移るという事で、この行動を”マクロの記録”をしてみました。 マクロの記録 ~(A4「No.1」)のセルを選択 ~ ”Ctrl+↓” ~ ”Enter"   の順です。 例にA4=No.1でA4~A6(No.1~No.3)まで記入しました。  標準モジュールの内容は・・・ Sub セルの移動() ’ ’セルの移動Macro ’マクロ記録日 : XXXX / X / XX ユーザー名:XXXXXXX ’ ’Keyboard  Shortcut:Ctrl+t ’   Range("A4").Select   Selection.End(xlDown).Select   Range("A7").Select End Sub ・・・と記入されています。 ですが、これでは Range("A7").Select と”A7”と指定されている為、 A7以降の行が入力されていても A7 に移行してしまいます。  これをA列のNo.(連番)が記入されている次行(連番が未記入の先頭行)に移動させるにはどこをどう修正すれば良いのでしょうか? お手数お掛けしますが、上記希望内容に相応しいプログラムのを教えて頂けると助かります。 初心者の為、宜しくお願いします。

  • エクセルで特定のセルへ移動したい

    こんなことできるでしょうか? たとえばA1のセルを入力(Enter)したら自動的にB10のセルへ移動する。 ヘルプを使ってもわかりません。 よろしくお願いします。

  • エクセルのセルの移動と選択セルへのデータ入力について

    エクセル2000で、セルにデータを入力して「Enter」を押すとカーソルが下のセルへ移動するはずですが、Tabと同じの右のセルに移動します。 また、複数のセルを選択してデータを入力して「Ctrl+Enter」で複数のセルに同じデータが表示されるはずですが、入力したセルだけに表示されてしまいます。 変更できる機能をいろいろ探したのですが、解からず、修復インストールしましたが改善されません。 解決方法について教えて下さい。

  • 離れたセルに移動する

    エクセルのセルの移動について セルE1に入力しenterキ-で セルA2に移動する方法はありますか。

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

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

  • Excelのセル移動について

    Excelのセル移動について データ入力の仕事をしていてアンケート入力の仕事をしています。 今現在している仕事は1人50問ほどのアンケートをExcelに入力しています。 1人分のアンケートを横の列に入力していくので Enterを押すと右のセルに移動するようにしているのですが 質問点は アンケートは5段階のうちどれかに丸をつけるタイプで 50問全て数字を1つずつ入力する形です。 今は、テンキーを使って1つ数字を入力してEnterを押しての繰り返しです。 で、ふと思ったのですが 例えば https://cp.cocacola.jp/top.php?hn=cp03 このコカコーラのキャンペーンサイトでは 左上にシリアルナンバーを入力する箇所があるのですが (ペットボトルについているシールの裏にナンバーがありますが) 上8桁下8桁の16桁を入力するのですが 上8桁の箇所をクリックして8桁入力すると 自動的に下8桁の部分に 点滅している縦線が移動して、そのまま入力してもそこに入力されるようになるのですが これってExcelで設定か何かで適用することはできないでしょうか? そうするとEnterを押さなくてもよくなるので 50問入力のアンケートデータでは 数字Enter数字Enterの繰り返しだと 50回近くキーを押す回数が減らせるので時間短縮にもなって助かります。 もし方法ありましたら教えてください。

専門家に質問してみよう