• ベストアンサー

エクセルで入力後のセルの移動方向の反映が・・・。

例えば入力後右に移動するように設定すると、他のエクセルファイルにも反映してしまうのですが、 文書ごとに変えられないのでしょうか? ブックごと、シートごとに設定できないのでしょうか? ちなみにOSはWinMeでもXPでもエクセル2002でも2003でも同じでした。

noname#201783
noname#201783

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.8

#7>ありがとうございます!m(__)m 何度も申し訳ないです。 いいえ、どういたしまして! いつも思うことですが、実際のブックをやり取りできれば、話は簡単なんですが、言葉で説明するのって難しいですねぇ。 >>Private Sub Workbook_Open() >というのが見当たらないのですが、 >どのタイミングでどこに出てくるのでしょうか・・・? エクセルを立ち上げてALT+F11でVBEの画面になります。 (既に実行されているんだからここはイイと思いますけど一応念のため) プロジェクトウインドウに VBAProject  Microsoft Excel Objects   …   ThisWorkbook というのが有るはずです。 このThisWorkbook をダブルクリックすると、 ブックのマクロを記述できるコードペインが開きます。 この状態で、上方にある左側のリストボックスに (General) と表示されているハズですが、ココをクリックすると、リストが表示されて、その中にWorkbook があるはずです。 Workbook を選ぶと 自動的に、右側のリストボックスがOpen が選ばれて、 以下のコードが自動的に挿入されます。 Private Sub Workbook_Open() End Sub これは、ワークブックを開いた時に実行されるプロシジャーです。 ここに、ワークブックを開いた時に実行させたいマクロコードを記述します。 同様に、右側のリストボックスからActivate を選択すると 以下のコードが挿入されます。以降同じ。 Private Sub Workbook_Activate() End Sub #7>「標準の状態として設定し直して」 標準の状態というのは、なんでもいいので、新しいブックを開いて、 ツール~オプション  編集タブ   □入力後にセルを移動する にチェックを付け、下に移動などと設定をして保存をします。 このオプションの設定は、全てのブックに共通なので、 (そもそも、それが、質問の題意)1つのブックで設定すれば、それ以降に開くブックにも適用されます。 それから、マクロを設定したブックを開くと、その標準の状態を変数として取っておいて変更し、ブックがアクティブでなくなる時(ブックを切り換えたり閉じた時、)取っておいた元の状態に戻します。

noname#201783
質問者

お礼

BLUEPIXYさん、大成功です!本当に詳しくありがとうございました! 初めてVBAというものを触った初心者なので感激です~! 実は#7にある「右向き三角のボタン=マクロの実行ボタン」を押さずに無理矢理閉じてました。 それでエラーになってたみたいです。 これで上司が使うファイルと自分が使うファイルの設定を分けられるし、BOOKごとに便利な形式に設定自由!って感じですごく嬉しいです!

その他の回答 (7)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.7

#6>「標準の状態に戻す」というところの標準とは、エンターキーを押してもその場から動かないという設定でしょうか? 「このブックを開いたときに設定されていた状態に戻す」という意味です。 #6>このVBAを設定したブックは右になりましたが、その他のブックは入力後の移動をしなくなりました。 おそらく、#6で注意していたエラーになって、 ツール~オプション  編集タブ   □入力後にセルを移動する のチェックがはずれた状態になっていると思います。 お手数ですが、標準の状態として設定し直してください。 これで直る(普通のブックは、標準の状態で開き、マクロを設定したブックは、右に移動になる。)と思います。

noname#201783
質問者

お礼

ありがとうございます!m(__)m 何度も申し訳ないです。 でもここの意味がちょっとわからなくて。↓   「カーソルを   >Private Sub Workbook_Open()   に置いてツールバーから右向き三角ボタンを押してから保存」 >Private Sub Workbook_Open() というのが見当たらないのですが、 どのタイミングでどこに出てくるのでしょうか・・・? それと、「標準の状態として設定し直して」 というのも「#6で注意していたエラー」を解決しないとダメみたいですね。 お時間があるときで結構ですのでよかったら教えてください。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.6

#4>やり方教えていただきたいんですが・・・。 既に答えに近いと思ったので、具体的には書きませんでした。 #5で、シートの場合を書かれているのでBookの場合を具体的に書きます。 ALT+F11でVBEの画面にしてThisWorkbook をダブルクリックして以下のコードを貼り付けます。 そのまま保存するとエラーになりますので、 カーソルを >Private Sub Workbook_Open() に置いてツールバーから右向き三角ボタンを押してから保存するか エラーになったら、そのまま終了して 別ブックを開いてからこのファイルを開くというようにしてください。 (プログラムを書き込んだすぐの時には、ファイルを開いた時の標準の状態の保存ができていないため) * 実際に#4で答えた時には試していなかったので#3で言われているプロパティは、方向を設定するプロパティというより方向を設定するかどうかのプロパティだと気付いていませんでした。 適当なことを書いてすみませんでした。 ---------------------------------------------------------------- 'デフォルトの値を保存する変数 Public canAfterReturn As Boolean Public dirAfterReturn As XlDirection Private Sub Workbook_Activate() 'このワークブックがアクティブになった時 'リターンで右にカーソル移動するように設定する Application.MoveAfterReturn = True Application.MoveAfterReturnDirection = xlToRight End Sub Private Sub Workbook_Deactivate() 'このワークブックがアクティブで無くなった時標準の状態に戻す。 Application.MoveAfterReturn = canAfterReturn Application.MoveAfterReturnDirection = dirAfterReturn End Sub Private Sub Workbook_Open() 'デフォルトの状態を読み出して保存しておく canAfterReturn = Application.MoveAfterReturn dirAfterReturn = Application.MoveAfterReturnDirection End Sub

noname#201783
質問者

お礼

とっても詳しくありがとうございます! 「標準の状態に戻す」というところの標準とは、エンターキーを押してもその場から動かないという設定でしょうか? このVBAを設定したブックは右になりましたが、その他のブックは入力後の移動をしなくなりました。 ・・・それでも理想に近づきました。(´・∀・) 少し勉強してみます。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

#4のご回答が出ましたが、例えばBook1で作業する(Bookを開いた)とき、VBAで横方向と設定し、BOOK1を閉じる時は、標準(下方向)に変えておくとかすれば、あたかもそのブックごとに設定したかのごとく、自由に設定できます。それと#3は別のことを言ってます。 さらにSheet別に設定するなら Private Sub Workbook_SheetActivate(ByVal Sh As Object) Select Case Sh.Name Case "Sheet1" MsgBox "sheet1" 'Application.MoveAfterRetun = True Application.MoveAfterReturnDirection = xlDown 'xlToRight Case "Sheet2" MsgBox "Sheet2" Application.MoveAfterReturnDirection = xlToRight End Select End End Sub とすれば、Sheet1を開くと、下方向 Sheet2を開くと、右方向にできます。 ツールーマクローVBEで 通常左側に出るVBAProjectのThisWorkBookをクリックし、WorkBookのSheetActivate イベントに貼り付ける。

noname#201783
質問者

お礼

いっぱいありがとうございました! まだ成功していませんが、VBAに興味を持ちました。 勉強と練習してみます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

VBA を使っても良いと言うことであれば、 #3の言われるプロパティを ThisWorkbook の Workbook_Open() (あるいは、Workbook_Activate()とか)で強制的に設定するようにしておけば良いような気がします。

noname#201783
質問者

補足

ありがとうございます!でもVBAって使った事が無いんです。 少し勉強してみます。 もしお時間がありましたら、やり方教えていただきたいんですが・・・。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

エクセルVBAでは、Returnキーを押した後に動く方向を MoveAfterRetun(プロパティ)で設定・取得できますが、Object.MoveAfterRetun で記述します。このObjectはApplicationしか許されません。ApplicationとはエクセルVBAではエクセルそのものです。 WorkBookやWorkSheetは許されないので、エクセルに設定ーー>各ブックに影響が及ぶとなると思います。ある時点で考ると、各ブック単位に別設定はできないということになるでしょう。

noname#201783
質問者

お礼

そうですか・・・。(-ω-。`) ありがとうございました! マイクロソフトさんがどうにかしてくれない限り無理なんですね~・・・?

  • hurutyann
  • ベストアンサー率30% (12/39)
回答No.2

ツールからオプション、編集で「入力後にセルを移動する」には、「上下左右」しか、ありませんね~。 入力するセルの範囲を選択してから行うと、右・下、どちらにも移動しますので、こんな方法では如何でしょうか。

noname#201783
質問者

補足

そうですね、範囲選択とかTabを使ったりとか、方法はありますが・・・。 会社のPCの場合、複数の人間が使うので、上司に設定を変えないでと言い辛いんですよね。 そのうえみなさんこういった小技を知らないし覚えてくれないんです。

  • yui0909
  • ベストアンサー率16% (16/96)
回答No.1

入力後右に移動するように設定すると、他のエクセルファイルにも反映してしまうのですが、 ここの部分がよくわからないので もう少し細かく説明していただけますでしょうか? 移動ってなんですか?何を? よろしくお願いいたします^^

noname#201783
質問者

補足

あ、すみません! ツール→オプション→編集 のところに入力後に移動するセルの方向、というのがありますよね。 それを右に設定すると、全てのエクセルファイルが右になるんです。 セルへの文字入力が終わってエンターを押したときの事です。

関連するQ&A

  • 入力後のセルの移動について

    エクセルの設定について 入力後のセルの移動の設定をBookではなく ワークシート毎に設定は出来ますでしょうか? 例えばsheet1はセル入力後右に移動して sheet2はセル入力後下に移動するという設定です

  • エクセルの「入力後に移動する方向」について

    入力後、エンターを押して上、下、右、左、とツールのオプションで設定ができますが、左斜め下(改行のような感じ)へと移動させるにはどう設定すればいいんでしょうか?今まではエンターを押すと左斜め下へ移動していました。あるシートだけが真下に移動してたのでそれを変更したら、全てのシートにおいて、その設定が反映されてしまいました。今は短期で働いており、皆かなり忙しくされてるので聞くに聞けません。ヘルプで調べても自分の知っている方法しか表示されません。どなたか教えてください。お願いします。

  • ExcelでEnter キー後のセル移動方向変更

    Excelで、「Enter キーを押した後にセルを移動する(M)」 の 「方向」 を 「右」 にする設定があります。 これを、Bookを開いたときにそのBookに限って有効になるようにしたいのですが、Sheetのコードに入れておくなど方法がありますか。 教えてください、よろしくお願いします。

  • エクセル--入力後のセルの移動

    お世話になっております。 Excel2000を使用しています。 表題の入力後のセルの移動についてですが、これはあるブックで例えば「右」に設定しておくとそれ以降、すべてのブックに影響するかと思います。 わたしが知らないだけでしょうか? このブックは「下」、このブックは「右」といった固定のようなものはできますでしょうか? わたしが知らないだけだったら、あーー恥ずかしい~!!

  • Excelでのセル入力後の移動について

    Excelでセル入力後の移動(下とか右とか...)の設定はわかるのですが、 ある規則を持たせて、次の行の任意のセルに移動することは可能なんでしょうか? そんな裏技がありましたら教えて下さい!!

  • Excel で [Enter]キーを押した後のセルの移動方向を設定する

    Excel で [Enter]キーを押した後のセルの移動方向を設定する方法 Excel Mac 2008 を使用しています。 [Enter]キーを押した後のセルの移動方向を設定するには、 調べたところ「環境設定」→「編集」→「入力後セル移動」にて設定できるようですが、 デフォルトでは「方向」が「下」になっているものの、シートのレイアウトによって[Enter]キーを押すと「右」に移動してしまうことも多々あります。 これを解決する方法は無いのでしょうか? また、できればセルごとに「下」に移動するセルと「右」に移動させるという設定をしたいのですが、これは出来ないものでしょうか? ちなみに、マクロを使えばできると思うのですが、Excel Mac 2008 は VBAとマクロはサポートに対応していません。

  • セルの移動方向の変更

    エクセルで、セルに入力した後enterを押すと下に移動しますが、それを右に移動するようにするにはどうすれば良いでしょうか?以前はそのように使っていたのですが、Windowsの初期化をしたらその設定(右に移動)が消えてしまいました。いろいろ探したのですが見つかりません。

  • エクセルのセル移動方向

    エクセルのセル移動方向を各シートに指定したい。 セルはEnterキーを押すたびに右か下に移動しますが 移動方向を各シート別に固定したい。 ツール・オプション・編集で切り替えしていますが 向きが変わるたびに行なっていると、手間がかかるので良い方法を教えて下さい。初心者なので詳しく 丁寧に教えて頂いたら有りがたいのですが。 よろしくお願い致します。

  • エクセルのカーソル移動変更

    エクセル2000を使用しているのですが、 ツール→オプション→編集→入力後にセルを移動する の 設定についてですが、設定すると複数あるワークシート全てに 反映されてしまうのですが、 1つのシートのみEnterで右に動かし、残りは下に 動かすような設定、もしくはVBA設定はありますか?

  • Excel ショートカット 入力後のセルの移動先

    OS:Windows2000 PRO EXCEL2003を使用 Excelで、入力後のセルの移動先を設定するには、 [ツール]=[オプション]の中の[編集]タブ内で設定するのは知っているのですが、これのショートカットキーはありませんでしょうか? 仕事上、セルの移動先を[下]にしたい場合と[右]にしたい場合が頻繁に変わります。 どなたか教えて下さい。 よろしくお願い致します。

専門家に質問してみよう