Excel UDF: 配列出力の制限を克服
Excel ユーザー定義関数 (UDF) は通常、スカラー値を返しますが、次の場合はどうなるでしょうか。他のセルを変更するには UDF が必要ですか? UDF はセル、ワークシート、またはワークブックのプロパティを変更することが明示的に禁止されているため、これは困難です。
可能ですか?
一般に信じられていることに反して、次のことは可能です。このタスクは、複雑な回避策を介して実行されます。 Windows タイマーと Application.OnTime タイマーを組み合わせて利用することで、これらの制限を回避できます。
回避策を理解する
Windows タイマーは UDF 内から開始されます。ただし、その機能は Application.OnTime タイマーのスケジュール設定に限定されています。 Excel で承認されている Application.OnTime タイマーは、セルが編集されておらず、ダイアログが開いていない場合にのみ安全に実行されます。
実装
この回避策を実装するには、次のコードを通常のモジュールに配置します:
[Code Goes Here]
詳細な説明
AddTwoNumbers UDF:
AfterUDFRoutine1:
AfterUDFRoutine2:
結論
Excel では UDF によるセルの直接変更が制限されていますが、この回避策は解決策を提供します。 Windows タイマーと Application.OnTime タイマーを順番に利用することで、これらの制限を克服し、UDF が他の方法では不可能なアクションを実行できるようにすることができます。
以上がExcel UDF は他のセルを変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。