• 締切済み

エクセルマクロの特殊なテクニック?

 いつもお世話になっております。  マクロの勉強を兼ねて、先輩の作ったマクロの記述をみていると、多くのデータベースを作るのに、あちこちのブックを開いて、ブック間で比較や検索をしています。 私自身は、全てのワークスペースを一つのブックの中に(まさに)ワークシートを増やして作業しているのですが、外のブックにワークエリアを持たせることに何か意味があるのでしょうか?  私の考えでは、処理速度が落ちたり、リソースを無駄に使ってウィンドウズを不安定にしているだけのような気がするのですが、これって、ベテランには当たり前のテクニックなのでしょうか?  ちなみに、作業後のブックに、特に記録が残るような使い方をしている訳ではありませんでした。ブック名もBook1とか、そのまんまですし・・・。  何かご存知の方がいらっしゃったら、ご教授ください。  勿論、もう、その先輩に聞けないので、ここに質問しています。

みんなの回答

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

>「多くのデータベースを作るのに、あちこちのブックを開いて、ブック間で比較や検索をしています。」 会社のデータベースが悪い例なんでしょう。勝手勝手にエクセル表を作ってしまったため、あっちこっちに項目が分散しているので、 それらを見に行って、情報の「結合」をしているのだと思います。だから先輩が悪いのではないと思う。 >「全てのワークスペースを一つのブックの中に(まさに)ワークシートを増やして作業しているのですが、」 一つのブックの中で作業しているのは見識ですが、そんなにワークシートをフルに使わなければならないようなワークエリアが要るケースというのは想像できません。 私の経験が偏っていることは反省しているが。 ●昔風なんですが、バッチ処理であれば、ソートとマッチングの手法を繰り返しJOB毎に使えば、一時に開くシートまたはブックは2つで良くスッキリすると思いますが。 ●出来ればアクセスなどでシステム化すれば、スッキリするところを、部内各人の主張か自然発生に任せて、エクセルしか知らない人が、エクセル表をそれぞれ自己流に作ったため、後で、情報を「総合」した資料・表を作る必要が起こったときに、先輩は苦労していたのだと思う。 ●エクセルVBAは、システムを本格的に作る一部というより、必要に迫られて、他のプログラムを組める人が片手間的に作ったり、プログラムを組むのが初めての人が組んでいるケースが多く、やはりそれなりの出来になっているケースがあると思う。先輩の組み方というだけで、こだわる必要はなく、自己流を後日のいろいろなケースに反省すれば良いのでは。スッキリしてないのであれば、後刻の参考にならないし、頭に残らないでしょう。

psss
質問者

お礼

 残念ながら、意図していた質問についての回答がいただけないようですので、これで締め切らせていただきます。  また、何かありましたらよろしくお願いします。

psss
質問者

補足

 すいません、説明不足でした。 そのメイン以外のブックがデーターベースではなく、そこのシートへクエリーで本物のデータベースから絞り込んだデータを転送し、そのシート間でチェインしているのです。  具体的には説明しますと。 Aに社員の所属と個人コードを示したデータがあります。これを本体のシート1に引きます。 Bに各社員がいつ、どこで、どんな仕事をしたかの記録が全てコード化されてあります。これをブック1のシート1に日付で絞って引きます。 Cに仕事をした場所と内容のコードが記されたデータがあります。これをブック1のシート2に引きます。  これらをチェインさせて、いつ、どこで、だれが、どんな仕事をしたか、判りやすく表にします。  実際は、何をどれだけ使ったか、とか様々なデータベースがあり、それぞれの一部分しか共通点がないので、組み合わせて全貌を表現するには沢山シートが必要なわけです。  私の場合は、各データベースに対応するだけ、一つのブックにシートを作っておいてマクロを組んでいますが、その方は、無印ブックを2~3個用意してあって、それをわざわざ開いているのです。  ですから、それに何か特殊なメリットがあるのかと思ったわけです。 imogasiさんはどう思われますか?

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

どのような作業のマクロを作成しているのかによりますが。 同じような作業だけど別の仕事に使う場合とか、 データベースのこの部分は同じだけど、 作業はまったく違った手順とかいった場合に、 ブックを分けておくと、使いまわしが出来るということではないかと。

psss
質問者

お礼

 残念ですが、意図していた質問に対する回答が得られないようですので、これで締め切らせて戴きます。  また、何かあったらよろしくお願いします。

psss
質問者

補足

 ブック自体にデータやマクロが入っている訳ではないし、実行後もデータが残るような使い方をしているのではないのです。  しかも、その方の作ったマクロって、全てがそんな感じで、ワーク用に別の場所にブックを置いて、わざわざ開いて使っているのです。  ですから、何かあるのかな、とかんぐってしまったのですが・・・  では、率直に質問させていただきますが、メインのブック内のシートで充分な場合、わざわざ別ブックにする必要はあるでしょうか?

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

関連するQ&A