- ベストアンサー
エクセル関数とVBA関数、意味が違う?
- エクセル関数とVBA関数で意味が違う場合があるのか疑問に思います。エクセルでは=全角(2バイト)の文字を半角(1バイト)に変換する一方、VBAでは指定した文字列内にある先頭の文字の文字コードを返す変換関数です。同じ関数なのに全く意味が異なることに驚いています。
- エクセル関数とVBA関数には意味の違いが頻繁にあるのでしょうか?エクセル関数では文字の変換が行われますが、VBA関数では文字コードの取得が行われるため、異なる動作をすることがあります。
- エクセル関数とVBA関数の意味が異なるケースは多いのでしょうか?エクセルでは文字の変換が行われますが、VBAでは文字コードの取得が行われるため、同じ関数でも異なる意味で使用されることがあります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>エクセル関数とVBA関数で意味が違うのは多いのでしょうか? 多いですよ。一例ですが EXCEL→ACCESSで TODAY() → Date() DATE(年,月,日) → DateSerial(年,月,日) TIME(時,分,秒) → TimeSerial(時,分,秒) DATEVALUE(時間文字列) → CDate(時間文字列) ASC(全角文字) → StrComv(全角文字,VbNarrow) JIS(半角文字) → StrComv(全角文字,VbWide) UPPER(英語小文字) → StrComv(英語小文字,VbUpperCase) LOWER(英語大文字) → StrComv(英語大文字,VbLowerCase) PROPER(英語) → StrComv(英語大文字,VbProperCase) ISNUMBER() → ISNumeric() ISBLANK() → ISNull() TEXT(数字,書式) → Format(数字,書式) DATEDIF(開始,終了,時間間隔) → DateDiff(時間間隔,開始,終了) FIND(検索文字,対象文字,開始位置) → InStr(開始位置,検索文字,対象文字) SUBSTITUTE(対象文字,検索文字,置換文字,置換位置) → REPLACE(対象文字,検索文字,置換文字,開始位置,置換位置)
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
(1)同じ綴りで機能が違う (2)同じような機能で、名前が違う (1)はそう多くない。 (2)は少々在る。 http://www.pursue.ne.jp/Document_doc/doc0011.htm などで関数の種類を調べ、エクセル関数の本を置いて、比較しては。 日付関係で混同する場合があるが、神経質になることは無いと思う。エラーになる場合は気づかされるし。 ーー 場合は違うが、数の処理の方が、木になると難しい。 http://questionbox.jp.msn.com/qa3600610.html
お礼
ありがとうございました。
- hallo-2007
- ベストアンサー率41% (888/2115)
>エクセル関数とVBA関数で意味が違うのは多いのでしょうか? ほんとに厄介ですよね。たぶん、歴史が違うので仕方がないとあきらめています。 エクセルの関数は、ロータス1-2-3への互換性重視 VBAでは、昔からベーシック言語の歴史に従っている のではと感じています。 一例ですが 関数のIF文とVBAのIF文の使い方の違いでしょうか。 VBAでは IIF文というのが関数と同じ使い方であります。 その他、TODAY関数とDATE関数とか
お礼
ありがとうございました。
EXCELの関数はEXCELをCALCと使うために、見た目簡単にわかるように作られた関数です。 VBAはVBベースの言語でそれをEXCELなどのOfficeに組み込んだものなので、少し関数の使い方が違うかもしれません。 マクロの場合EXCELに近い関数、VBAではVBに近い関数になるのは、もともとの設計方針が違うものを組み合わせたものなので、違うものと覚えたほうが、無難かもしれません。
お礼
ありがとうございました。
お礼
たくさんあるのですね。 とても参考になりました。 ありがとうございました。