問題タブ [excel-udf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1052 参照

excel - UDF を使用して特定の値よりも大きい場合と小さい場合に値を返す

私は現在、ヘッダーが特定の値よりも大きい場合と小さい場合にヘッダーを返し、連結するUDFに取り組んでいます。私は Excel-Vba があまり得意ではなく、これまでのところ、理解できない哀れなコードしか得られませんでした。誰かが助けてくれたら本当にありがたいです。これが私がこれまでに得たものです:

値が 5 以上 10 以下の場合、同じ列に特定の値を含むヘッダーを連結する以下の同じ例を返す必要があります。

0 投票する
2 に答える
1171 参照

vba - プロジェクト間でコア VBA 関数 (UDF) を再利用する方法

さまざまなアドインまたは VBA プロジェクトで参照および使用したい "コア" 関数とサブを持つアドインがあります。コードの再利用と単一更新の原則のため。

たとえば、基準に基づいてコレクション メンバーをフィルタリングし、サブコレクションを返す関数。コード自体はここでは問題になりません。

コレクションオブジェクトを返すため、この関数をセル挿入関数に表示したくありませんが、 VBA コード内 の複数の VBA プロジェクトで再利用したいと考えています。

現在の問題の写真、オブジェクト関数がセル挿入式に表示されています:

ここに画像の説明を入力

リサーチ

Option Private Statementを使用して、単一のプロジェクト メソッドのソリューションSO1SO2を見つけました。ただし、他のアプリケーションまたはプロジェクトの制限 により、これでは問題は解決しません。

モジュールに Option Private Module が含まれている場合、モジュール レベルで宣言された変数、オブジェクト、ユーザー定義型などのパブリック パーツは、モジュールを含むプロジェクト内で引き続き使用できますが、他のアプリケーションまたはプロジェクトでは使用できません

次に、MRExcel フォーラムで質問を見つけました - Hiding VBA functions only。Tom Schreiner は、カスタム クラスを使用して Classes 内に関数を実装できることを提案します。そうすれば、セル挿入機能では利用できませんが、他のプロジェクトでは利用できます。

質問

  1. プロジェクト全体でコア VBA 関数 (UDF) を再利用する方法はありますが、セル挿入関数には表示されません。
  2. カスタムクラスのソリューションは 1 つだけですか?
  3. (意見ベース) Excel アドイン (.xlam) を介して複数のプロジェクトでコア メソッドを共有するという私の最初の哲学は合理的なものですか?
0 投票する
2 に答える
4030 参照

excel - Excelユーザー関数でゴールシーク関数を使用するには?

次のコードのようにMS Excelでゴールシークを使用する方法があります。それは正常に動作します。

そして、次のようなゴールシークを行う関数を使用したいと思います。

ただし、コードは問題なく動作し、c の範囲では応答が得られませんでした。どこが間違っていますか?