EXCEL、VBAプログラミング入門15~四則演算~第1回目

今回は、EXCEL、VBAプログラミングの第15回目で、四則演算について説明をします。四則演算に関しては次の回にも続きますので、今回は四則演算の第1回目です。

今回は、以下のことについて解説を行っています。
1)はじめに
2)関数の呼出しと四則演算
3)プログラムの全体像を理解する

1)はじめに
本EXCEL、VBAプログラミング講座では下記の簡単な計算機の制作の仕方を通じて、EXCEL、VBAプログラミングについて解説を行っております。現在は、下図の「+」ボタン処理について解説を行っております。

図1.計算機システム

それでは「+」ボタン処理が行われた際のコードを表示してみます。下図の通り、上部の「開発」タグを選択後に「デザインモード」をオンにします。

図2.プログラムコードの表示

「デザインモード」をオンにすると下図の通りに「デザインモード」欄の色が暗くなります。「デザインモード」をオフにするには、オンの状態でもう一度「デザインモード」欄を押すとオフとなり色が再度、変わります。

「デザインモード」がオンの状態で「+」ボタンを選択して、マウスに右クリックでメニューを表示し、「コードの表示」を選択します。

足算がクリックされた時は、下図の通り
Private Sub 足算_Click()
  ~
End Sub
が処理されます。

図3.足算クリック処理

「足算_Click()」処理では、
Call 四則演算(“足算”)
で、下図の四則演算関数を呼び出しています。

図4.四則演算処理

2)関数の呼出しと四則演算
「図1.計算機システム」のシートで「+」ボタンを押した際には、
Function 四則演算(演算子 As String)
の「演算子」変数に「図3.足算クリック処理」で「足算」という文字をセットしています。

そのため、「図4.四則演算処理」では
Select Case 演算子
内で
Worksheets(“sheet1”).Range(“b3”).Value
= CDbl(一時記憶) + CDbl(Worksheets(“sheet1”).Range(“b3”).Value)
の処理が行われる訳です。

同様にして、「図1.計算機システム」の「-」ボタンを押すと、「図3.足算クリック処理」で、
Private Sub 引算_Click()
   Call 四則演算(“引算”)
End Sub
が処理されます。

「四則演算」関数は「足算」「引算」「掛算」「割算」の各処理で共通に利用される関数です。しかし、共通に利用される関数であっても当然、呼び出さる場所やタイミングによって処理を切り分ける必要があります。処理を切り分けるために利用される1つの方法が関数の引数になります。

関数の引数とは
Function 四則演算(演算子 As String)
の「演算子 As String」が該当します。

「図1.計算機システム」の「-」ボタンを押した時に、「四則演算」関数を呼び出す際の引数として「引算」という文字を渡しているので、結果、「図4.四則演算処理」の
Select Case 演算子
内では
Case “引算”
            Range(“b3”).Value = CDbl(一時記憶) – CDbl(Range(“b3”).Value)
の処理が行われます。

Range(“b3”).Value = CDbl(一時記憶) – CDbl(Range(“b3”).Value)
では「一時記憶」変数の値からセル番地「b3」に入力されている数値を引いた結果をセル番地「b3」に表示しています。

同様に「図4.四則演算処理」より、掛け算は
Range(“b3”).Value = CDbl(一時記憶) * CDbl(Range(“b3”).Value)
と「*」が掛け算を表しています。

割り算は
Range(“b3”).Value = CDbl(一時記憶) / CDbl(Range(“b3”).Value)
と「/」が割り算を表しています。

「図4.四則演算処理」の
Select Case 演算子
 ~
End Select
にて四則演算処理を行いますが、その際にはすべての結果を
Range(“b3”).Value
に代入しています。

さらに、以下の処理にて次に備えて結果を「一時記憶」変数に代入しています。
一時記憶 = Worksheets(“sheet1”).Range(“b3”).Value

3)プログラムの全体像を理解する
「図4.四則演算処理」処理では、
If 一時記憶 = “” Then
   ~
Else
   ~
End If
によって、「一時記憶」変数の値により処理が分岐しています。さらに

Select Case 演算子
  Case “足算”
           ~
  Case “引算”
       ~
  Case “掛算”
       ~
  Case “割算”
       ~
End Select
によって、「演算子」変数の値により処理を切り分けています。

「一時記憶」「演算子」変数ともに「図4.四則演算処理」処理内で代入される変数ではありません。従って、処理を理解するにあたって「図4.四則演算処理」処理内の1行1行が何を行っているかを理解する必要がありますが、「一時記憶」「演算子」変数の値がどこでセットされているかという視点で、全体の処理にも注意する必要があります。

 


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。