エクセルとOfficeの違いーエクセルVBA関数とワークシート上の関数 | エクセルマクロマスターへの道!【基本をしっかり!初心者向け勉強方法~作成方法・使い方】

エクセルとOfficeの違いーエクセルVBA関数とワークシート上の関数

エクセルの使い方を勉強して、関数、マクロといった機能についておぼえようとしている人もいると思います。
このとき、関数の使い方を見ていると、ふと、VBAの関数がワークシートで使う関数と違うのはなんでだろう?
って疑問に感じることもあるのでは?

じつは、VBA関数と、ワークシート上での関数は、まったく違うものなんです!
VBA、ワークシートでの関数の異なる点について、いくつか例をあげてみると、

『同じ動作なのにスペルが違うもの』
●今日の日付の取得
VBA関数→「Date」     ワークシート関数→「Today」

●日付の間隔の取得
VBA関数→「Datediff」     ワークシート関数→「Datedif」

『同じスペルなのに動作が異なるもの』
●Round
VBA関数→「丸め処理」     ワークシート関数→「四捨五入」

このように、VBAで使うときとワークシート上で使う時で異なる関数はたくさんあるんです。
ここで、動作が同じ関数は、ぐうぜん同じような名前がついただけで、名前も動作も同じ、というものはほとんどありません。

マクロを作成するときに、VBAの記述ができるようになったのが、Excel5.0です。
これ以前のバージョンのエクセルについては、マクロでもワークシート関数と同じような記述をしていたのです。

VBAとは、「Microsoft Visual Basic」(VB)というプログラム言語をもとに作られた言語です。
MicrosoftのOfficeアプリケーションでは、Word、Accessでもマクロがあるんですが、もともとはWordBasic、AccessBasic、とそれぞれで全然ちがう言語を使っていて、これらを統一するために採用されたのが、Visual Basic for Applications、「VBA」です。

つまり、こんなOfficeの機能の歴史からもわかりますが、エクセルで使用されているエクセル独自の関数と、Office共通で使われる「VBA関数」が違ってくるんですよね。

トラックバック

この記事のトラックバックURL:

まだトラックバックがありません。

« エクセルマクロを削除したのはずなのにマクロがあるというメッセージが表示される…

自動記録を使わずに「Visual Basic Editor」を使ってエクセルマクロを作成! »