別のワークブックから関数を呼び出す

別のワークブックから関数を呼び出す

1 つのワークシートに大量のデータがあり、それを複数の列の値に基づいて個別のワークブックに保存しようとしています。私が採用しているアプローチは (良くも悪くも)、関連するワークシート (およびマクロ) を新しいワークブックにコピーし、適切な名前 (「temp.xlsx」とします) で保存し、次に、無関係な行を削除して (deleteInfo という関数)、その新しいワークブックのデータをクリーンアップすることです。これはすべて、会社のポリシーに従って、元のワークブックを変更せずに実行する必要があります。

問題なくコピーできますが、新しいブックでマクロを呼び出すときに深刻な問題が発生します。

私が試してみました:

Application.Run "'temp.xlsx'!deleteInfo"

ActiveWorkbook.Application.Run deleteInfo

Application.Run ("'C:\user\.....\temp.xlsx'!deleteInfo") 

しかし、どれもうまくいきませんでした。

どのような助けでも大歓迎です。

答え1

VBA コードを使用して、データがファイルから出た後にクリーンアップを実行しようとすることで、問題が複雑になりすぎていると思います。

シートを複製することができますソースファイル内重複部分を修正し、クリーンアップが完了したら重複部分を新しいブックに移動します。

関連情報