質問: エクセル関数とvba関数で意味が違うのは多いのか エクセル関数とvba関数で意味が違うのは多いのでしょうか? セルa1に「a」と入れ、 b1に「=asc(a1)」と入れると b1は「a」になります。(半角) vbe画面で sub test() debug.print asc("a") end sub を実行すると、-32160 になります。 ヘルプより エクセルでは=全角 (2 バイト) の文字を半角 (1 バイト) の文字に変換します。 vbaでは=指定した文字列内にある先頭の文字の文字コードを返す変換関数です。 となっていますが 同じ関数でも全く意味違うのでびっくりしています。 こういうことは頻繁にあるのでしょうか? (vbaのasc関数のかわりのエクセル関数は、code関数でした。)
回答: >エクセル関数とvba関数で意味が違うのは多いのでしょうか? ほんとに厄介ですよね。たぶん、歴史が違うので仕方がないとあきらめています。 エクセルの関数は、ロータス1-2-3への互換性重視 vbaでは、昔からベーシック言語の歴史に従っている のではと感じています。 一例ですが 関数のif文とvbaのif文の使い方の違いでしょうか。 vbaでは iif文というのが関数と同じ使い方であります。 その他、today関数とdate関数とか