Microsoft 製品に組み込まれている Visual Basic の実装。
「udf 他のcell のフォント変更」 の Copilot Search の回答です。
- ExcelのUDFは基本的に計算結果を返すだけで、セルの書式(フォントや色など)を直接変更することは推奨されていません。UDFはセル参照から値を返すことしかできず、書式設定の変更は通常VBAのSubプロシージャを使います。しかし、VBAマクロであれば他のセルのフォントを変更可能です。
UDFとしてではなくSubで使う理由
- UDFではExcelのセルフォーマットにはアクセスできないため、フォント変更はSubプロシージャを使う必要があります。 UDFでフォント変更を試みても、Excelは警告を出すか、無視されます。
補足
- 条件付き書式でも簡単なフォント変更は可能ですが、より柔軟な操作にはVBAマクロが必要です。
実際は色だけは変更できているようですが、UDF(ユーザ定義関数)でなくSubプロシージャか Worksheet イベント を使うことを検討した方が良いと思います。
追記)
条件付き書式でもよさそうに思います。
"*" も "^" も含まない場合フォントの色と太字のスタイルを変更すれば良いのではありませんか?