#2 【Excel VBA入門】~計算結果をセルに表示してみよう~

ExcelVBA
このページは ・プログラミングを全くやったことがない ・プログラミングをやりたいけど何からやればいいか分からない ・仕事の業務を効率化したい といった方向けの記事です。 Excel VBAを書くための準備から、基本的なコーディング、応用レベルの使い方をなるべく噛み砕いて全くの初心者でも少しずつステップアップできる内容になっています。 今回はセルに文字列を表示させていきます。 僕はOffice2016を使用していますので、それをベースにお伝えしていきます。
スポンサーリンク

セルに計算結果を表示する方法とは

エクセルVBAでセルに計算結果を表示する方法を今回は説明していきます。 計算結果を表示する方法としては、ざっくりいうと2つの方法があります。 一つ目はVBAで直接数字を指定して計算する方法 二つ目はすでに数字が入力されているセル同士の数字を計算する方法です。 一つ目のVBAで直接数字を指定して計算する方法は、 1 + 1 = 2 をVBA内に記述してセルに表示させます。 二つ目のすでに数字が入力されているセル同士の数字を計算する方法は、 A1セルに1、A2セルに1 = 2 といった感じにセルに表示されている数字同士の結果を表示します。 エクセルは表計算ソフトと言われるだけあって、計算は絶対に必要になってくるのでこの項目は絶対に覚えましょう。 この方法を覚えれば以後の解説やVBAの基本的な使い方の一部を覚えたことになるので一気にやれることの幅が広がりますよ! それでは、はじめていきましょう。 段階を踏んで、手順通りにやっていけばきっと大丈夫!

対象セルに計算結果を表示する

今回の目標1:A1セルに1+1=2を表示する

range足し算

ここから実践

1.開発タブのvisual Basic Editorをクリックしましょう (Alt + F11のショートカットでも表示させられます) 開発タブが表示されていない方は【Excel VBA超初心者】~開発環境の準備~を参考にしてください
2.メニューバーの挿入タブをクリックしましょう 3.挿入メニュー内の標準モジュールをクリックしましょう 4.エディターの1行目にsub 足し算と入力し、入力が完了したらエンターを押しましょう 5.そうしたら3行目にEnd Subと自動で入力されます 6.ここまではダイアログボックスの回でもやったので問題ないですね 7.2行目に range(“A1”) = 1 + 1 と入力してください ※1 Range()の使い方はこちら 8.入力が完了したらエンターキーを押してください 9.入力が完了したらツールバーの再生ボタン「」をクリックしてください 再生ボタンはメニューバーの「挿入」の右斜め下にあります。 (見つけられない場合はショートカットキーのF5キーで実行してください 10.A1セルに「2」と表示されれば成功です 11.VBA内で計算する方法は以上です!

解説

Excel VBAのエディタ内で計算して計算結果をA1セルに表示させるプログラムです。 今回はA1セルに1 + 1 = 2 と表示させる様に命令を書きました。 そのためA1セルに2と表示されるのです。 では詳しく解説していきます。 Range(“A1”)は以下のページで解説していますので、Range()の使い方が分からない方はそちらを参考にしてください
今回のコードは Range(“A1”) = 1 + 1 と記述しました。 この、結果がイコールの左にあり計算式が右にあるというのはほぼ全てのプログラミングでの記述方法となります。 Range()やCells()の回もそうでしたが、数値・文字列等の表示結果は原則的にイコールの左に書き、イコールの右は計算式や表示させたい値を記述します。 今回の計算結果もRange(“A1”)に1+1の結果を表示させたいから今回の記述方法となります。 では、続けてもう一つの計算方法もやっていきましょう

今回の目標2:A5セルにB3セル – E4セルの結果を表示する

cells引き算

ここから実践

1.開発タブのvisual Basic Editorをクリックしましょう (Alt + F11のショートカットでも表示させられます) 開発タブが表示されていない方は【Excel VBA超初心者】~開発環境の準備~を参考にしてください
2.メニューバーの挿入タブをクリックしましょう 3.挿入メニュー内の標準モジュールをクリックしましょう 4.エディターの1行目にsub 引き算と入力し、入力が完了したらエンターを押しましょう 5.そうしたら3行目にEnd Subと自動で入力されます 6.ここまではダイアログボックスの回でもやったので問題ないですね 7.ではまずは下準備をしてきます 8.ワークシートを開きB3セルに10、E4セルに6と入力してください 7.2行目に cells(5,1) = cells(3,2) + cells(4,5) と入力してください ※1 Cells()の使い方はこちら 8.入力が完了したらエンターキーを押してください 9.入力が完了したらツールバーの再生ボタン「」をクリックしてください 再生ボタンはメニューバーの「挿入」の右斜め下にあります。 (見つけられない場合はショートカットキーのF5キーで実行してください 10.A5セルに「4」と表示されれば成功です 11.VBA内で計算する方法は以上です!

解説

Excel VBAでセルに表示されている数値を計算して対象のセルに表示させるというプログラムです。 今回は B3セルに10 E4セルに6 と、既に入力されている数値同士を計算してA5セルに表示させる命令を書きました。 そのためA5セルに4と表示されたのです。 では詳しく解説していきます。 Cells()は以下のページで解説していますので、Cells()の使い方が分からない方はそちらを参考にしてください
今回のコードは cells(5,1) = cells(3,2) + cells(4,5) と記述しました。 この、結果がイコールの左にあり計算式が右にあるというのは先に紹介したRange()の計算と同様です。 この書き方はほぼ全てのプログラミングで共通している書き方なので、将来的に他の言語も覚えたいという方は絶対に覚えておきましょう。

おまけ

今回はRange()はRange()、Cells()はCells()で計算しましたが当然両者を組み合わせての使用も可能です。 例えば Range(“A1”) = Range(“B2”) * Cells(3,3) といった書き方もできますし、意外とこういう使い方をするシーンは出てきますので合わせて覚えておきましょう。

今回のコード一覧

自分でコードを書いてエラーが発生してしまったら、以下のコードと比較してエラーを解消しましょう。 ※半角スペースが「=」の前後に入っているので注意してください
Sub 足し算() Range(“A1”) = 1 + 1 End Sub
Sub 引き算() Cells(5, 1) = Cells(3, 2) – Cells(4, 5) End Sub
どうしてもエラー箇所が分からないという方がいましたら、2つのテキストの差異を視覚的に教えてくれるWinMergeというソフトがあるので、それを使って上記のコードと自身が書いたコードを比較してみることをお勧めします。 WinMerge
WinMerge - You will see the difference…
WinMergeは、オープンソースのWindows用比較・マージツールです。WinMergeは、フォルダとファイル両方が比較でき、理解しやすく扱いやすいテキスト形式で差異をビジュアルに表現します。

まとめ

このページではVBAエディタ内で直接数字を記述して計算する方法とセルに表示されている数値同士を計算するという2種類の方法を解説しました。 どちらの方法も使う頻度は非常に高いので、どちらも使えるようにしておきましょう。 特にCells()で解説した計算方法はいずれ紹介する「For~Next」や「If~End If」というプログラムの時に頻繁に使われるので、よりしっかりと覚えておきましょう。

コメント