- ベストアンサー
Excel関数・マクロを使ったアイデア
- ExcelBook1とExcelBook2には同じ商品の情報が入っていますが、管理方法が異なります。ExcelBook2には、ExcelBook1の情報を参照して在庫管理を行っています。しかし、数百アイテムになると手動での入力が大変になっています。
- 上司が週単位や月単位での併せることを嫌がっているため、ExcelBook2からExcelBook1を参照する方法を模索しています。関数やマクロを使用して、自動化を図りたいと考えています。
- 関数やマクロの作成は素人レベルですが、VBEを使用して条件文を作成し、一致する商品名と日付がある場合に、自動的に参照先のパスを入力するマクロを作成するアイデアが浮かんでいます。しかし、他に良いアイデアがあれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
表計算は単一シートから始まりました。そのようにデータを扱う単位としてはシートが中心です。別ブックに分かれると難しくなる。 この課題はVBAで、数年以上の経験の在る相当エクセルVBAを頻繁に扱う熟練者で無いと出来ないと思う(他言語で開発経験者は除いても)。 質問コーナーなどでの質問で、済む問題ではないと思う。だから今すぐに着手は無理。スクール・講習会、指導者の指導の下にチャレンジなどが必要と思う。 エクセルでは、業務というレベルに対し、適当な仕組みが不足していて、荷が重い課題です。 データベースの考え方も学ぶ必要があると思う。 #1でも匂わせておられるように、いまのやり方では、全体で見るとデータが2重に存在します。こういうのは望ましくない。だからACCESSなどの仕組みを勉強し、対処するべき課題と思います。しかしこちらも習得は簡単ではない。 たとえ出来たとしても、こういう個人技のシステムもどき、が会社内に増えていくと少し先に、作り直しが待っていると思う。 また作成者が退職や部署移動するとたちまち機能不全になる。個人のレポート程度の作成と違って、バックアップやセキュリティ対策や システム管理など、新しく必要になる仕事が増えます。エクセルの本 などではそんなの余り載ってません。エクセルは単一ユーザーで使うことをそうていしたもの。他シートやブックに簡単に連動させたりの機能がほとんど無い。目的が違うのです。エクセルは取り付きやすく、そこで少し使った人が、あれも出来ないか、これも出来ないか良く質問している。ほとんど関連のことも勉強しないで。 「出来ますかで、すんだらシステム屋いらん」はずですが、実際は 複雑で難しい。 (1)市販の在庫管理などのソフトで適当なものは無いか (2)フリーでそういうソフトは無いか(出来ればエクセル利用で) (1)にも、経営者が金を出してくれない、というなら、組織として、本件のようなことをやるのは、自分個人の勝手な分派行動です。自宅でやるなら当たりませんが、会社で1000時間も職場でこっそり開発をやったら、本業に影響が出て、経営者や上司から見たら、好ましくない事態でしょう。 言いたいことは会社・経営者を巻き込んだコンセンサスが必要と思う。会社の主要な仕事の一部なんだから、仕事としてオーソライズしてもらい、そこで自社開発(ボランチアが開発)や外注やソフト購入などを考えるべきでしょう。友達に聞いてヒントですらすら出来る・してよい筋合いの物ではないと思う。 == >book2に範囲指定して条件文を作成して、book1の商品名と日付が一致したときに 両シートのデータを日付(+会社名など。キーという)でソートしておき、キー項目で両シートデータをマッチング(バッチ処理のコンピュター処理のアルゴリズム)すれば、2シートの情報は1つのシートに合成できます。骨格はVBAで20行ぐらいのコードですみますが。
その他の回答 (1)
- rivoisu
- ベストアンサー率36% (97/264)
マクロを使えばできると思います。 情報が無いのでマクロのコードを書くわけには行きませんが。 ただ、データの管理手法としてはちょっと変だなと思います。 同じデータが2箇所にある。 そういう場合はデータだけのBook(通常はDB)を造りそこから月報、週報を作る。 つまりデータは一箇所で管理して2種類の見せ方にする。とするべきだと思います。