• ベストアンサー

エクセルの作業グループ?

エクセルの質問です。office 2000を使っています。 100枚程のシートがあります。全て同じ様式ですが、ある箇所を、見てチェックしていきたいと思っています。入力箇所のみ、非保護になっている、保護のかかった結構複雑な内容となっています。作業グループで、同一セルを訂正する方法などは知っていますが、全てのシートの画面表示を同じくすることはできますでしょうか?たとえば、画面左上がJ103のセルになるように…。そうすれば、コントロール+Page Dowmで、どんどんとチェックしていけるのですが…。どなたか、良い方法をお教えください。お願いいたします。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.2

ご質問の内容とは少しずれてしまいますので、 参考程度に読み流してください。 対象のシート群の特定のセルについて、そのセルの値をチェックするだけであれば、 適当なシートでINDIRECT関数等を用いて値をまとめて書き出した方が簡便ですよね。 値だけでなく書式や保護の状態についてもチェックする必要があってのご要望だと思います。 ただ、Ctrl+PageDownが苦でないのであれば、  1.対象シート群を作業グループ化する  2.対象セルを選択する(すべてのシートの対象セルが選択される)  3.Ctrl+PageDownでシートを移動する  4.Ctrl+Backspaceで選択しているセルを表示する  5.⇒3 という手順でもさほど違いはでないような気がします。 また、マクロが選択肢に入るのであれば、 一括して表示位置を調整するよりも、 下記のようなマクロをショートカット登録して、 シートの移動とセルの選択をその都度行っても良いかもしれません。 動作の概要  現在選択しているシートの次のシートを選択して、  現在アクティブなセルと同位置のセルをアクティブにする Sub Sample071017()  myCell = ActiveCell.Address  ActiveSheet.Next.Select  ActiveSheet.Range(myCell).Activate End Sub ※Excel2003で動作確認済。  最後のセルに行き着くと実行時エラーになります。 以上ご参考まで。

tmasako50
質問者

お礼

お礼が遅くなり、申し訳ありません。 3種類も、考え方をお教えくださって、ありがとうございます。 INDIRECT関数は 使ったことがありませんでした。 ラッキーなことに、シート名は1、2、3…です。 A列にシート名を入れ、B列には、=INDIRECT(A1&"!参照したいセル番地")と入れ、オートフィルで数式をコピーしました。 これ、良いですね!! 使わせていただきます。 次の方法ですが、これが、今回一番手っ取りばやくて良かったです。 質問で、”全てのシートの画面表示を同じくすることはできますでしょうか”と書いてしまったのですが、望んでいたのは、こういう方法だったように思います。この方法だと、特に新たに何かを作ることも無く、かつ、やりたい作業もでき、助かりました。 Ctrl+Backspaceの技、知らずにいました。 すごくうれしいです。知ると、知らないでいるとは、大違いです。 教えてくださって、ありがとうございました!! マクロも、ショートカット登録で、やってみました。 すごいです!! まだ、”自分のやったことを覚えさせるマクロ”(分かっていただけますか?)しか 作ったことが無いので、 もっと勉強をして、自分で作れるようになると良いなぁと、思っては見るものの、何度もくじけています。今回もとても勉強になりました。 ありがとうございました!!

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

その他の回答 (1)

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

>全てのシートの画面表示を同じくすることはできますでしょうか それならマクロが良いと思います 以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はワークシート画面に戻ってALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。 ただし100シートもあると少し時間がかかると思いますが… Sub Macro1() Dim ws, act As Worksheet   Set act = ActiveSheet   Application.ScreenUpdating = False   For Each ws In Worksheets     ws.Activate     ActiveWindow.ScrollRow = 103 '先頭に表示する行番号     ActiveWindow.ScrollColumn = 10 '先頭に表示する列番号。A列が1、B列が2、J列は10   Next ws   act.Activate   Application.ScreenUpdating = True End Sub

tmasako50
質問者

お礼

ありがとうございます。 私の頭を少しだけかすめたマクロという文字が いきなり最初の回答で… ”やっぱりかー!!”です。 マクロを書いて頂き、感謝いたします。 今回は、力づくの画面スクロール作業で チェックしちゃいました。 今後もこの類の作業があるので、 やってみます。 作業グループで、ウィンドウ作業は やっぱりできないんですかねぇ~。 ありがとうございました!!

tmasako50
質問者

補足

やってみました!! みごとに、全シートが希望通りの表示になりました。 先頭に表示する、 行番号、列番号を変えても やってみました。 データとして提出するときに、全シートの表示をそろえたいときも、 これを使って、そのあとに、マクロを消しておけば 良いですよね。 いろいろな場面で、使わせていただきます。 ありがとうございました!!

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

関連するQ&A