2017-07-20 10 views
-1

社内の共有ドライブに保存され、社内の他のユーザーが使用する一連のExcelスプレッドシートを使用してシステムを作成しました。各クライアントのテンプレートから作成されたスプレッドシートのバージョンがあります。マクロを更新する必要があるときは、スプレッドシートの100回の反復を更新する必要があります。スプレッドシートを使用するすべての人がスプレッドシートを使用するマスターを持つ方法はありますか?複数のスプレッドシートで複数のユーザーが使用するマクロを更新する

今はマクロをハードドライブにエクスポートしてから、各ブックにインポートしています。より良い方法が必要です。

+0

マクロを1つのブックに、別のブック(またはそのブックの100個)に保存します。または、中央の場所からメインのマクロブックを開く各データブックにスタブマクロがあるだけです。 – YowE3K

+0

スプレッドシートのパフォーマンスにはどのような影響がありますか? –

+0

別のブックのマクロをデータに持たせても、マクロの実行時間には影響しません。その他のパフォーマンス時間(ユーザーがワークブックの開閉に費やす時間など)は、ワークフローの設定方法に大きく依存します。 (例えば、ユーザーが1日に1回だけ既存のファイルを開くと、読み込み時間はそれほど変わらないでしょうが、毎日たくさんのファイルを開き、データは小さくてもマクロは大きい場合、一度マクロをロードするだけで改善されました。) – YowE3K

答えて

0

ワークシートの反復ごとに一連のマクロを使用する代わりに、マクロを「キー」として1つのワークブックを作成します。その後、他のワークブックでキーワークブックを呼び出してマクロ作業を行うことができます。

キーブックで行う変更は、マクロ内にあります。値は、呼び出すブックに初期化されるために柔軟でなければなりません。キーのマクロが呼び出し元のブックに設定されると、マクロはそのブックを変更できます。

新しいブックはすべて、編集する必要のない同じマクロを持つため、パフォーマンスが向上します。主要なワークブックとその機能を呼び出すためにマクロが必要です。

今後の重要な編集は、主要なブックブックマクロでのみ行う必要があります。 ブックのすべてのコピーが同じ書式、シート番号、名前などである場合、これはうまく動作します。

0

マクロは、ネットワーク上の1つのドキュメントでマスターブックに格納します。そのブックをアドイン(ファイルタイプ.xlam)として保存し、ブックのプロパティIsAddin = Trueを設定します。

クライアントワークブックごとに、このアドインを参照として追加できます。名前で参照されるすべての関数は、アドイン内の関数に参照されます。これにより余裕でアドインを更新するだけで、他のすべてのワークブックが次に更新されたアドインを次に読み込むことができます。

関連する問題