• ベストアンサー

値を入力後、自動的にアクティブセルが移動するマクロ

(1)エクセルファイルを開けたときのアクティブセルを設定。 (2)そのセルに値を入力後、ENTERで違うセルに移動。  (違うセルは、隣接していない) (3)入力後、ENTERでまた違うセルに移動。 (4)数個のセルに入力後は、任意のセルに値を入力できるようにする。 マクロでできることなのかわかりませんが、 よろしくお願いします。

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

  • ベストアンサー
  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.1

規則性がわかりませんが、マクロを使わなくても、同様なことは可能ですよ。 CTRLキーを押しながら、入力したい順に該当セルをクリックする。 Tabキーを1回押すと、最初に選択したセルに入力できます。入力完了後Enterキーを押すと、2番目に選択したセルに入力できます。入力完了後Enterキーを押すと、3番目に選択したセルに入力できます。・・・

korin121
質問者

お礼

ありがとうございます。 選択してENTERで順番に移動することはわかるんですが、 毎日の作業なので、毎回選択することを避けたいんだと思います。 (すみません、知り合いに頼まれているので・・・) 規則性もないと思いますが、 セル番地を指定して、ENTERを押してその番地に移動できれば・・・と思っています。

korin121
質問者

補足

そうか! それをマクロで記録したらいいんですね^_^

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

やり方は色々あると思いますが、簡単なマクロを使った例です。 >(1)エクセルファイルを開けたときのアクティブセルを設定。 これは標準モジュールに、 Sub Auto_Open() Sheets("Sheet1").Range("B4").Select End Sub という様に入れてやれば出来ます。 >(2)そのセルに値を入力後、ENTERで違うセルに移動。 Sheet2を、ジャンプ先位置指定用のシートにします。 たとえば、Sheet2のB4に、Sheet1のB4からのジャンプ先のアドレスを、A1といった様に入力しておきます。 Sheet1のシートモジュールに、 Private Sub Worksheet_Change(ByVal Target As Range) If Sheets("sheet2").Range(Target.Address) = "" Then Exit Sub ActiveSheet.Range(Sheets("sheet2").Range(Target.Address).Value).Select End Sub というマクロをいれてやると、あるセルに値を入力して、確定したとき、Sheet2の該当セルに番地が指定してあれば、Sheet1の指定先のセルにジャンプし、該当セルが空なら何も起こりませんので、普通に作業できます。 ご参考まで。

korin121
質問者

お礼

オートでマクロが動くようにすることができるんですね! 知らなかった・・・ ひとまず、NO.1の方のCtrl+セル指定で、 マクロを登録する方法が一番簡単でしたので、 ボタンクリック式でやりたいと思いますが、 ボタンを表示しない方法として、 こちらでも試したいと思います。 ありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A