VBAとJavaのソースコードを比較してみた

  1. VBAとは
  2. ソースコードの比較
  3. 参照コード①
  4. 参照コード②
  5. VBA/Javaそれぞれのメリット・デメリット
  6. 最後に

新人研修としてJavaを1ヶ月学習してきました。
そこで思ったことを私が使える言語であるVBAと比較していきたいと思います。

VBAとは

VBAとは、Excelなどの操作を自動で行うためのプログラム言語です。 繰り返し処理やWebサイトの情報の収集などを自動で行うことが可能となり、 仕事を効率化することが可能になります。
詳しく知りたい方は、
エクセルの神髄
侍エンジニアリング
を参考にしてください。

ソースコードの比較

今回は”うるう年のIF文”を比較に使ってみました。 うるう年の判定方法は、

手順1. 4で割り切れるか確認
手順2. 100で割り切れないか確認
手順3. 400で割り切れるか確認


この3つの条件を満たす年がうるう年となります。 ではコードを見ていきましょう。

参照コード①

こちらがVBAのソースコード。
yにA1の値をValue型で代入し、条件式で判定を行っています。 結果はメッセージボックスでポップアップするようにしています。

参照コード②

こちらはJavaのソースコードです。
yに標準入力した値を代入するためにScannerを使っています。 比較をしていきましょう。まず条件式です。 演算子の記載方法が異なるだけで条件式は似ていますね。 では変数の宣言はどうでしょう? VBAではy = Cells(1,1).Valueだけですが、 JavaはScanner scan = new Scanner(System.in) でインスタンス化してから、 int y = scan.nextInt() でint型のyにscanのnextInt()を代入しています。 このようにオブジェクト指向が絡むため、より複雑なプログラムの際に コード記載量が多くなってしまいます。

VBA/Javaそれぞれのメリット・デメリット

VBA
メリット
開発コストも運用コストも安い
分からないときにマクロの記録で確認できる

デメリット
バージョンが変わった際に利用できなくなる
複数人で同時編集ができない
複雑な処理に対して処理速度が遅い


Java
メリット
JVMが入っていたらほぼ動く
Web上に情報が多い
ライブラリやツールが豊富

デメリット
Rubyなどのモダンな言語に比べて文法やコードの記載量が多い

最後に

私が研修で一番苦戦したこと、それはJavaにあってVBAにないもの。

{ } ←これです! 

Javaのオブジェクト指向にも苦戦しましたが、Eclipseをインストールするまでは{ }に苦しめられました。 講師の方にどうすればエラーを減らせるか尋ねたところ、 「プログラム初心者だから、焦らずゆっくりでいいから正しくコーディング できるようにしたらいいよ。コードを読んで理解することが大切だから」 と言われ少し安心しました。
今からプログラミングを始める方もぜひ焦らず理解しながら学習してください。

料金表ナビゲーション 料金表ナビゲーション

おすすめ記事