質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

2882閲覧

複数のエクセルファイルで同じマクロを使う方法

jmdajmw

総合スコア352

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

1クリップ

投稿2022/02/07 06:42

編集2022/02/08 01:00

現状、50個のエクセルファイルで同じマクロを使っています。
エクセルシートは全部別物なので1つのブックにまとめることは出来ません。

十分テストした上で50個のファイルとしてリリースしたものの、やはりちょこちょこと機能追加の依頼などが来ます。そういう依頼があった際、今のところ1つのファイルを修正して十分なテストをした上で50個のファイルを1つずつ開いてコピペしています。

これは結構時間が掛かり、面倒なので、コピペ作業を自動化、もしくはマスターファイルを1つ作り、マスターファイルのマクロを修正するだけで他のファイルから参照するなどの手法を取りたいと思っています。

問題は処理速度が落ちたり、一般ユーザーの手間が増えないように修正する必要があります。
どうすれば良いでしょうか?

【追記】
>自分の環境だけで完結しているならアドオンで処理できそうですが、他人の環境も含むでしょうか?
はい。ファイルサーバーに置いて、同じ部署の50人全員が使います。

>実行用のエクセルファイルと加工用のエクセルファイルを分るのは如何ですか?
それを考えています。
ボタンに紐づけるSubは加工用のエクセルファイルを参照する方法を知っています。
ただ、ほとんど全ての関数をセルの中から呼び出しているため、出来るのか否か?出来るとしたら、全部のセルの中の記述を書き直さなくてはならないのか?そうなると50個のファイル全ての全てのセルの中を書き換えるというアホみたいな作業が発生します。
また、そんなことをした場合にネットワークを介して処理速度が遅くなるリスクはないのかを懸念しています。

【追記】
アドインをやってみましたが、どうにも複雑で、一般ユーザーがノーアクションで使えるものではないですよね???
しかも開発担当者が変わったら逆に全く意味不明になるのでは???

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2022/02/07 06:59

自分の環境だけで完結しているならアドオンで処理できそうですが、他人の環境も含むでしょうか?
hihijiji

2022/02/07 07:20

実行用のエクセルファイルと加工用のエクセルファイルを分るのは如何ですか?
otn

2022/02/07 11:03 編集

Excelファイルを開いた状態で対話型に使うマクロでしょうか? 修正保存後のファイルに対してバッチ処理的に使うのであればVBSで書けば良いです。 (追記)失礼しました。セルの中で使う関数をVBAで書いていると言うことですね。↑は関係ない話です。
jmdajmw

2022/02/08 01:01 編集

hihijijiさん。 それはベストアンサーかと思いましたが、本当に使えますか?
hihijiji

2022/02/08 04:41

ここの欄に書いているのは原則として回答ではありません。 そして貴方の直面している問題には多分正解はありません。 要は運用コストを削減したいけど開発-構築コストを増やしたくないってことですよね? 色々やれる範囲でやってみるしか無いのでは?
guest

回答2

0

自己解決

今後、仕様変更や不具合が発生することはないと思うので何もしません。
万一何かあったら1つのファイルを修正して十分なテストをした上で50個のファイルを1つずつ開いてコピペします。

投稿2022/03/26 22:12

jmdajmw

総合スコア352

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

[複数のExcelにVBAのソースを一括インポートする]という
タイトルのWebを見つけました
参考になるか、分かりませんが URLを記載します
https://vbaexcel.slavesystems.com/vba/?p=1045

投稿2022/02/09 14:32

syousuke.33

総合スコア312

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jmdajmw

2022/02/09 23:47

ありがとうございます。 ただ、この作業自体がそれなりに時間が掛かりそうなので実施するか否かについてはこれから検討します。
jmdajmw

2022/03/26 22:13

検討しましたが、超面倒なのでやめました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問