3

需要予測を含む別のブックを開くマクロを含むマスター ブックがあります。マクロを介して開かれたワークブックは、カスタマー ポータルからダウンロードされ、事前に編集する必要なく、毎日すべて新しいものになります。

その後、マクロは情報をループ処理し、読みやすく直感的な新しいワークシートを作成します。ただし、これらのワークシートのいくつかでは、イベント駆動型のコードを追加して、セルをマウスオーバーまたは選択したときにツールチップを表示したいと考えています。

マクロ中に作成されたワークシート オブジェクトにコードを追加する (バニラ Excel 2010 からアドオンをインストールせずに) 可能性はありますか?

処理されたワークブックのレイアウトは多かれ少なかれ静的であるため、テンプレート ファイルを作成して入力をコピーする必要があるかどうか疑問に思っていました。これにより、データが追加される前にイベントをコーディングできます。これが最善の可能性ですか?

4

1 に答える 1

1

Dan が指摘したように、Application.VBE.ActiveVBProject を使用して、プログラムでコード モジュールをワークブックに追加できます。ただし、これを行うには、より寛大なマクロ セキュリティ設定 (既定では信頼できない設定) が必要であり、これはお勧めできません。

似たようなことをしなければならないときは、次の 3 つのワークブックを使用します。

  1. ワークブックを含むデータ
    • この本にはマクロ機能がありません
  2. 必要なマクロを含むテンプレート ワークブック
  3. 移行を容易にするマクロ対応ワークブック。

ワークブック #3 を使用してワークブック #1 を開き、そのデータをワークブック #2 にコピーします。ワークブック #2 のコピーを保存して閉じます。必要に応じてこのプロセスを繰り返します。

これは最も美しいソリューションではありませんが、コードのモジュール性を維持します。

于 2013-03-07T16:17:38.327 に答える