Posted by

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

Excelを使い始めた人が関数やマクロなどを使用しようとしたときに感じる疑問として「VBAとワークシート上の関数は何故違うんだろう?」と思う方が多いと思います。

結果的にはワークシートの関数とVBAの関数は全くの別物と思ってください。
以下にVBAとワークシートの関数の違いを少しご紹介します。

○同じ意味の関数で、スペルが違う関数
【今日の日付取得】
VBA関数   :「Date」
ワークシート関数:「Today」

【日付の間隔を取得】
VBA関数   :「Datediff」
ワークシート関数:「DATEDIF」

○スペルが同じで、違う動作をする関数
【Round】
VBA関数   :丸め処理
ワークシート関数:四捨五入

など他にも色々あります。
同じ動作をする関数というのはたまたま同じように名前がつけられただけです。同じ名称で同じ動作という関数はめったにないと思った方がいいと思います。

Excel5.0からマクロでVBAを記述するようになりましたが、それより前のバージョンのではマクロにワークシート関数に書いているように記述していました。VBAというのはVB(Microsoft Visual Basic)というプログラム言語を元にして作成された言語となっています。

Officeでは、WordやAccessにもマクロがあり、それぞれWordBasic、AccessBasicというように全く機能がバラバラのものが採用されていました。それを統一しようとして作られた言語がVBA(Visual Basic for Applications)ということなのです。

と言う経緯があることから、Excel独自の関数とoffice全体のVBA関数とは違うということが分かりますよね。  


Posted by KurokiLine

エクセルのマクロってどういうもの?

エクセルについてなんですが、友人に「エクセルでマクロって使える?」って聞かれてついつい「うん。使えるよ~」なんて返事しちゃったんですが、次に友人に会う時にエクセルのマクロの事を聞かれたらどうしよう?って今から悩んでいます。
そもそもエクセルのマクロというのはどういうもので、どういうときに有効で、マクロのメリット・デメリットとは何なのか分からないのですが。

というような質問がありました。理由はともかくエクセルのマクロって何なのか分からないって思っている人はたくさんいると思います。ここで少し説明したいと思いますので参考にしてみてください。

「マクロ」というのは、エクセルやワードなどを作業する上で効率よく作業が出来るようにサポートしているプログラム群の事を指しています。簡単に言ってしまうと、エクセルのマクロに関しては面倒な計算や同じような処理などを自動に処理してくれる機能という事になります。

エクセルマクロのメリットは、エクセルのデータをデータベースのように扱えるので処理が簡単になったり、複数の処理をボタン一つで出来ちゃったりというところにあると思います。
逆にデメリットですが、言語を多少覚えていなければプログラムを組むのに相当な時間を費やしてしまったり、使うタイミングを間違ってしまうと逆に時間がかかってしまったりするということになります。

また、エクセルの関数なども組み合わせて使えたりもするので色々なサイトなど見て勉強してみるのもいいと思いますよ。  


Posted by KurokiLine

エクセルのマクロを使ってみよう!

エクセルをただの表計算だけに使用している方はもったいないですよ。マクロを使うと使い勝手がものすごく広がります。ここではマクロの使い方をご紹介しようと思います。

1.準備
 ・「Visual Basic」を追加します。
  ツールバー上のどこでもいいので右クリックをします。
  ショートカットメニューが開きますので「Visual Basic」を選択します。

2.マクロの作成
 ・ファイルを開くマクロの作成
  「●」が描かれている「マクロの記録」ボタンをクリックします。
  ダイアログボックスが開かれるので「マクロ名」に「ファイルを開く用」というマクロ名を入力します。
  「説明」にどんなマクロを作成するのか説明を記入します。
  「OK」ボタンを押します。
  「記録の終了」ボタンが表示されます。

3.マクロの自動記録
 ・ファイルを開く作業の内容をマクロに自動記録する。
 ・適当なファイルを開きます。
 ・「記録終了」ボタンを押下します。
  (「ツール」→「マクロ(の記録)」→「記録終了」でも同様の処理です。)
 ※ここで「記録終了」をしないと、それ以降の作業全てマクロに記録されてしまいますので注意してください。

4.マクロの実行
 ・先ほどマクロを記録するために開いたファイルを閉じます。
 ・マクロの実行ボタンを押下します。
  (「ツール」→「マクロ」→「マクロ」でも同様の処理です。)
 ・マクロ名「ファイルを開く用」を選択したら、「実行」ボタンを押下します。
 ・マクロが実行されてファイルが開かれることを確認しましょう。  


Posted by KurokiLine

マクロでフリガナをふろう!

Excelをデータベースとして使う際には、「ふりがな」というのは重要な機能です。そして便利な機能です。フリガナの機能には「フリガナをふる」「PHONETIC関数を使ってフリガナを取得する」など色々な機能があります。
まぁ日本語入力と漢字の関係性から言っても万全ではないのが弱点なのですが・・・

さらに弱点として、フリガナはExcel上で行われた入力の読みを保持しているだけと言う事も上げられます。ということは、読み(ふりがな)の情報を持っていなければふりがなというのは画面上に表示されないということになります。

ツールからふりがなをふる際の弱点としては、CSVファイルをエクセル上にインポートして使用する場合ですが、この場合は読みの情報は保持されない状態でインポートされてきます。ですから、ふりがなのツール「メニュー[書式]→[ふりがな]→[表示/非表示]」を実行してもふりがながふられないということになります。

このような場合には「PHONETIC関数」を使ってマクロでふるようにしましょう。
【PHONETIC関数を使った、ふりがなをふるマクロ】
Sub Phonetic-Furigana()
 Selection.SetPhonetic
 Selection.Phonetics.Visible = True
End Sub

上記のようなマクロを作成して、フリガナをふりたいセルで実行するようにするとふりがなを取得することができます。  


Posted by KurokiLine