0

ワークシートを別のブックに転送する際に問題が発生しています。最初のワークブックにいくつかのマクロと 1 つまたは 2 つのフォームを書きました。これらのマクロとフォームを含むこのワークシートを新しいワークブックに移動できるようにする必要があります。単純なワークシートのコピーを行うだけでは、ワークシートの新しいバージョンは古いワークシートのマクロを参照し、2 番目のワークシートを読み込もうとすると (最初のワークシートに) 記述したフォームが起動しません。

助言がありますか?私はグーグルを試しましたが、同様の問題はないようです...何かが足りないのでしょうか?

4

3 に答える 3

3

マクロとフォームをコピーするには、元のブックからエクスポートしてから、新しいブックにインポートする必要があります。

エクスポートするには、元のワークブックのプロジェクト エクスプローラーで関連するフォームまたはモジュールを右クリックし、[ ] を選択しますExport File。これにより.frm、フォーム用の.basファイルまたはモジュール用のファイルが作成されます。その後、新しいワークブックに移動してImport File、同じ方法で使用できます。

エクスプローラーの Microsoft Excel オブジェクト セクションから特別なモジュール (たとえば、呼び出されたモジュールSheet1または呼び出されたモジュールThisWorkbook) を使用した場合、これらが正しくインポートされないことに気付くでしょう。それらについては、マクロのソース コードを 1 つのワークブックから別のワークブックにコピー アンド ペーストするだけです。

于 2009-10-07T00:08:41.117 に答える
1

唯一の方法は、「barrowc」で提案されているとおりです。ただし、マクロシートを新しいファイルに移動するか、新しいファイルからマクロのあるシートにシートを移動するか、どちらがより簡単かを判断したい場合があります:)

乾杯...

于 2009-10-07T11:06:50.817 に答える
0

私は明白なことに苦労しているかもしれませんが、通常、コードをあるワークブックから別のワークブックに移動する必要がある場合 (レイアウト、名前付き範囲などではありません) I:

  • 両方のブックを開く
  • VBA エディターを開く (alt + F11)
  • 目的のモジュールをあるプロジェクトから別のプロジェクトにドラッグします。

他のワークブックへの参照を取り除くために、検索/置換を実行し、ワークブック名​​全体を検索して空の文字列 ("") に置き換え、オプションの下で確認します (うまくいくとは限りません..)。あなたが見てください:式(私は信じています)。

それが役立つことを願っています。

于 2012-06-06T14:19:41.943 に答える