Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » Excel VBAのWorksheetFunctionクラスにExactメソッドはありません

Excel VBAのWorksheetFunctionクラスにExactメソッドはありません

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2501(ビルド18429.20132クイック実行)

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

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » Excel VBAのWorksheetFunctionクラスにExactメソッドはありません

「WorksheetFunction」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.