Excel VBAのWorksheetFunctionクラスにExactメソッドがあるかのような、間違った記述をしているWebページを見かけました。
何らかのAIが生成した文章を、検証することなくWebの記事にしたのかもしれません。
ChatGPTもWorksheetFunction.Exactがあるかのような間違った回答をする
ChatGPTに
「vbaでexact関数を使うにはどうすればいいでしょうか?」
と試しに質問してみたところ、以下のような間違った内容を出力してきました。
VBAでワークシート関数EXACTを呼び出すことも可能ですが、EXACTはエクセルのワークシート関数であり、VBA関数として直接は使用できません。そのため、WorksheetFunctionを経由して使用します。
以下のような、実行できないコードも返してきます。
Sub TestExactWorksheetFunction() Dim result As Boolean result = Application.WorksheetFunction.Exact("Hello", "hello") MsgBox result ' Falseが表示される End Sub
WorksheetFunction.Exactは存在しない
VBE(Visual Basic Editor)のオブジェクトブラウザーでライブラリーを「Excel」を指定し、「exact」を検索してもヒットしません。
WorksheetFunctionクラスで「Exact」を目視で探しても、見つかりません。
存在しないのですから当然です。
VBAの比較演算子は大文字小文字を区別する
そもそも、Excelのワークシート等でEXACT関数を使うのは、大文字と小文字を区別して比較演算を行いたいときです。
Excelの比較演算子「=」は、大文字と小文字を区別しないためです。
ですが、VBAの比較演算子「=」は、大文字と小文字を区別します。
Debug.Print "EXCEL" = "excel"
を実行すれば「False」が返されます。
ワークシート関数EXACTをVBAで呼び出す必要は、基本的にないはずです。
最終更新日時:2025-02-11 10:46
- Newer:文字間隔を変更するパワポマクロ
- Older:Photoshopで選択を解除する
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » Excel VBAのWorksheetFunctionクラスにExactメソッドはありません