第3講 For文を学ぼう

第9話 連続する整数の和を求めるマクロ例
入力欄に整数を入力してから実行ボタンを押すと、
4
消去ボタンを押すと、
k
を実現するするプログラム例

Private Sub CommandButton1_Click()
   
  Dim a As Integer, M As Integer, n As Integer, i As Integer
  M = Cells(5, 4)
  n = Cells(5, 8)
  a = 0
  For i = 1 To n
    a = a + i
  Next
  Cells(6, 2) = M
  Cells(6, 4) = n
  Cells(6, 7) = a
    
End Sub

Private Sub CommandButton2_Click()
  
  Cells(5, 4).Select
  Selection.ClearContents
  Cells(5, 8).Select
  Selection.ClearContents
  Cells(6, 2).Select
  Selection.ClearContents
  Cells(6, 4).Select
  Selection.ClearContents
  Cells(6, 7).Select
  Selection.ClearContents
  Cells(1, 1).Select
  
End Sub
参考ダウンロード添付ファイル
(Mだったりmだったりしていますが、大文字でも小文字でも
VBAの場合は動きます。ただし、C言語では、半角英数小文字しか使えません。
Mとなっているのはただのタイピングミスで意味はありません。
タイピングミスをそのまま放置しているのは、どちらでも動くからです。)
4
この実行例では、
8+9+・・・+25
を計算させています。
はじめの値と終わりの値をシート上から入力できますから、
汎用性はさらに高くなりました。

For文では、変化の幅を指定することが出来ます。
For i = 1 To 9 Step 2
   ・・・
Next
とすると、iは1,3,5,7,9と変化しながら、
ForとNextで挟まれている文(複数の文が可能です。)を実行させることになります。
さらに、
For i = 100 To 1 Step -3
   ・・・
Next
とすると、iは100,97,94,・・・,1と変化します。
変化させたい幅をStepの後に半角スペースを入れて書けばよいのです。

Stepを利用してさらに汎用性を高めて、
5+8+11+・・・+305
のような計算をさせるマクロを開発しましょう。
5,8,11,・・・,305
のような数列を等差数列と言い、
一番最初の項を初項、
終わりの講を末項、
項と項の差(これがすべて等しいので等差数列というのです。)
を公差(字に注意して下さい。項差ではありません。)と言うのです。
つまり、次ぎに作ろうとしているマクロは、
シート上から初項、末項、公差を指定して、
等差数列の和を求めるマクロです。

さあ、シートの画面も含めてマクロ作り頑張りましょう。
いろいろ試行錯誤をすることが大切ですよ。
m
和を表示する欄はセルの結合を行っています。
* ただし、C6、E6、G6に何も入力していないでうっかり実行ボタンを押すと、
  始まりと終わりの指定がないので、永久に計算してしまいます。
  うっかり押したときは、Escを押して
 終了ボタンを押してください。


第8話へ 第10話へ

004

eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ第2部へ
小学生からエンジニアまでのRuby入門へ
小学生からエンジニアまでのC言語入門 基礎から応用まで
本サイトトップへ