• 締切済み

Excelシートのグループ化時に、一つのシートのみに入力したい(勝手に全シートに入力しないでほしい)

以前検索について質問させていただいたのですが、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2333302 シートをグループ化するのはいいのですが、グループ化した状態で入力を行うと、(入力したくない)他のシートにも入力されてしまいます。具体的には、Sheet"A"のA1に入力すると、Sheet"B"やSheet"C"のA1にまで変更が反映されてしまいます。今になってそのことに気付いて、データがかなり破壊されてしまい、修復する気も起こりません(TT) 関係ないシートをクリックし、グループ化を解除して入力すれば問題ないのでしょうが、データベース的に使っており検索をしょっちゅうかけるので、不便きわまりません。データを複数シートに分けたのがそもそもの間違いだったのでしょうか? 以上を踏まえ、複数シートに分散したExcelデータベースで検索をひんぱんにかけ、グループ化時にもそのシートにだけ入力したいのです。 何かいい解決案はないでしょうか?

みんなの回答

回答No.5

皆さんがおっしゃるようにシートを1枚にする手間を1度だけかけたほうが楽だとは思うのですが・・・。 でも、質問者様の言いたいことも分からないでもないです。 いろいろ考えましたが、マクロを使う以外にいい解決案が浮かびません。 検索して修正ならば・・・検索ではなくCtlr+Hで置換を行えば、該当のシートにのみ変更が反映されます。 (全て置換ではなく、次を検索→該当のものが選ばれた状態で置換と行います) ただ、なんとなく聞いていると検索は検索、入力は入力で別の作業ということなのかな? それなら検索だけVlookupなどで作ってあげればいいと思いますが・・・。(全てのシートの最上列に作っておけばどこからでも使えるし) あとはシート数にもよりますが、マウスを使わずに行えば、少しは作業が楽になるかも知れません。 検索をかけるときはCtrl+Fで検索し、フォームはAlt+F4で閉じます。シートの変更は右手でCtrl+PgUpやPgDn・・・と言うようにやるとか。 全部のシートを選ぶのはたとえば Sub 全シート選択() Worksheets.Select End Sub こんな記述を書くだけです。 いい機会なのでマクロにも手を出して見てはどうですか? 余談ですが、「グループ化時に、シートの書き込みをすると全シートに書かれてしまう」のは仕様です。 書式設定なんかも全て全シートに適用されるので便利だと思いますが・・・。

pyara
質問者

お礼

回答ありがとうございました。皆様の助けを借りて導いた自分の結論としては、「Excel2000以前ではブック検索が不可なのでデータベース的に使用する可能性があればシートを分けない方がよい」というものに達しました。ちなみにデータは渡されたときから分けられていたので、そのまま使ってしまったのです。項目もシート毎に整合が取れていなかったので、揃えるのが面倒だったということもあります。 シートのグループ化はいろいろ使い方があるようですね。Excelも何気に奥が深いものだと思いました。またよろしくお願いいたします。

  • NoBi18
  • ベストアンサー率53% (7/13)
回答No.4

> 住所録に毛の生えた程度 住所録であれば、複数シートに分けるといえば  会社、学校、親戚… といったように分けるか、もしくは紙の電話帳のように、  あ行、か行、さ行… というように分けるかといったところだと思います。 そうだとすれば、それを項目として設け、データを1枚のシートに集約すればいいのではないでしょうか。 今までシート見出しをクリックしていた代わりに、オートフィルタを使って絞り込めば済むような気がします。

pyara
質問者

お礼

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

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。Wend02です。 >グループ化すると、すべてのシートに反映されてしまうという現象が確かに起こったのです 前回の回答で、私があれこれ言っても、ある一定の方向に話が行ってしまっていたようなので、書きようがありませんでしたが、ともかく、その方式で、「検索」は、やめたほうがよいとは思いますが。 私個人は、安易な解決策は避けたいとは思いますが、仕様という前に、私は、Excel2003でも、そういう方式は、あまり芳しい状態だとは思えないのです。まして、Excel2000で行うブック全体の検索と、グループ化は別だとしていかないといけないと思いますよ。 最初のご質問 「複数シートに分散したExcelデータベースで検索をひんぱんにかけ、グループ化時にもそのシートにだけ入力したいのです。」 その作業自体が、私は、見えていません。 Vlookupのように、データが分かればよいのか、それとも、その場所に飛んでいくのか、分かりません。 私としては、複数のシートを検索するようなコントロールツールのテキストボックスを作ってやれば、それで足りるような気がしますが、マクロが必要になります。

pyara
質問者

お礼

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

pyara
質問者

補足

「そもそもグループ化して検索を行うなんてことは邪道だ。マクロを使うべし」ということでしょうか?そういうことなら話は分かります。 ということは、Excel2000でブック検索をかけるにはマクロ以外方法はないということになるんでしょうか?私はマクロを書いたりといったことは出来ないので簡単に済ませたかったのですが・・。 あと、「グループ化時に、シートの書き込みをすると全シートに書かれてしまう」の件ですが、実際にシートAのA1に「りんご」、シートBのA1に「みかん」、と書いて2つのシートをグループ化し、シートAのA1に「ばなな」と入力してみて下さい。私の言わんとすることが一発で分かっていただけることと思います。

  • NCU
  • ベストアンサー率10% (32/318)
回答No.2

検索時のオプションで検索場所を「ブック」に指定すればよろしいのでは? >データを複数シートに分けたのがそもそもの間違いだったのでしょうか? 一般的には、分けずにすむなら分けない方が使いやすいでしょう。

pyara
質問者

お礼

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

pyara
質問者

補足

申し遅れましたが、Excel2000なんです。2000ではブック検索が不可なんですよ~(><)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 >シートをグループ化するのはいいのですが というか、前回のグループ化することで、解決しているようですが、それは、状況によります。 もともと、1回きりの検索ということで、回答者は了解していただろういし、データベース化させるということは、また、別の問題ではないでしょうか? 一体、Excelのデータベースとはどういう種類の検索か、複数シートの、各1列で検索するのか、広範囲で検索するのか、Match 関数や、VLookup関数などでまかなえるものなのか、それでも、他に、コントーロールツールを組み込んで、可能にさせるか、完全マクロ化させるのか、考えられる手段は講じるべきかと思います。 >#2333302 の >Excelの検索で、複数シートをまたがって(ブック全体に)検索をかけることは可能でしょうか? これだけの説明では、話が見えなかったし、現状でも、まだ、お話は見えていないのです。 Excel 2003は、検索オプションに、ブック検索もありますが、おそらく検索ダイアログを出しっぱなしで、それで、編集を行っているようにお見受けしました。そのあたりは、似たようなものを、UserFormで製作することも可能です。 大事な資料で、今後も使っていかなくてはならないのでしたら、あまり安易な方向で、解決をみないほうが良いかもしれません。

pyara
質問者

補足

アドバイスありがとうございます。 Excelのバージョンは2000です。検索方法は、単純にctrl+Fで検索フォームを出し、検索するというものです。フォームは出しっぱなしではありません。グループ化すると、すべてのシートに反映されてしまうという現象が確かに起こったのですが、これはそういう仕様なのでしょうか? データベースといっても、個人の事務作業用に作ったごく単純なものです(住所録に毛の生えた程度)。

関連するQ&A