だから私は、特にエイリアスの膨大なリストを含むExcelアドインを持っています。たとえば、ISO コードを含む国名、大陸を含む国など (カナダがアメリカにあることや、コートジボワールの国語がフランス語であることなどを簡単に知ることができるようにするため)。現在、別のワークブックの名前付き範囲をチェックするすべての関連関数を備えた xlam があります。
要約すると、2つのファイルがあります。
- macros.xls (Angola = AGO などの名前付き範囲がすべて含まれています)、および
my_functions.xlam (エイリアス名を取得するために Excel から呼び出すことができる関数があります)。関数の例は次のとおりです。
関数 nti(v) nti = WorksheetFunction.VLookup(Trim(v), Range("macros.xls!nti"), 2, 0) 関数の終了
ここで、 ntiは使用する関数で、macros.xls!ntiは参照している名前付き範囲です。
これはすべてうまく機能しますが、.xlam ファイルは Excel で開いたり編集したりできず、VBA エクスプローラーでしか編集できないため、この機能には 2 つのファイルが必要です。
質問:簡単に変更できるリストと、これらのリストを参照する関数を 1 つのファイルに含めるにはどうすればよいですか? 関数は、私が作業している他のファイルで利用できるはずです。
不適格なソリューション:
- my_functions.xlam を .xls として一時的に保存し、すべての名前付き範囲をコピーしてから、.xlam として保存し直します。名前付き範囲を変更するたびにこれを行うのは面倒です (これはかなり頻繁に行われます)。
- すべてのエイリアスを含む 2 列の配列の束を各関数にハードコードします (数千行になる場合もあります)。もっとセクシーな方法があれば教えてください...
前もって感謝します!