VBAソフトを通じて、利便性を、驚異の低価格でお届けします。 アイデアを形に、Saphamy-softは、仕組み創りができます。

ExcelVBA(2)

ExcelVBAでできること(2)

今回は、繰り返し構文を学びましょう。

構文
For 変数=○ To △ Step □
  
 Next

「開発」タブを表示する

VBAで作業するためには、「開発」タブを設定しておくと、簡単にそのソフトであるVBE(Visual Basic Editor)を呼び出せるので便利です。もし、Excelのメニュー(メインタブ)に「開発」タブがなければ、次のように設定します。
1 ファイルをクリック
2 オプションをクリック
3 「リボンのユーザー設定」で、「開発」にチェックを入れる。
4 OKをクリック
これで、メニューに開発が表示されます。(Excel2013)

VBEを起動する

VBEを起動するには、上記で設定した「開発」タブをクリックし、続けて、メニューの「VisualBasic」をクリックします。

モジュールを挿入する

モジュールを挿入するには、上記「VisualBasic」クリック後のメニュー「挿入」をクリックし、サブメニューである「標準モジュール」をクリックします。これで、プログラムであるコードを記述できるモジュールのコードウインドウが表示されます。

コードを書く

ここでは、計算とその結果をセルに表示する操作を考えてみましょう。
例えば、
1+2=3
3+3=6
6+4=10
10+5=15
15+6=21
21+7=28
28+8=36
36+9=45
45+10=55
つまり、1から10まで加算を続けたら55になります。
1から始まる1の等差数列ですから、
10×11÷2=55
です。例えば以降の9つの式の値、加算される数をA列、加算する数をB列、その和をC列に、5行目から順に表示するプログラムを考えます。
プログラムはコードというプログラム言語で作成します。
プログラムは、プロシージャーという命令の単位内に記述します。
ここでは次のようにプロシージャーを作成します。
Sub keisan()
 
End Sub

VBAでは変数という入れ物を使用します。
変数として、
加算される数をn1、加算する数をn2、その和をaとします。
加算を繰り返すので、その総回数をc、変化する回数をiとします。
表示する行をrとします。
n1に1を、n2に2を代入します。
n1=1
n2=2
n1+n2をaに代入します。
a=n1+n2
これを9回繰り返します。
まとめると、
c=9
n1=1
n2=2
For i=1 To c
 a=n1+n2
Next
For i=○ To △
 
Next
は、ForとNextの間の行のコードを○から△まで実行します。
加算される数をA列、加算する数をB列、その和をC列に表示します。また、行の初期値は5なので
r=5
Cells(r,”A”)=n1
Cells(r,”B”)=n2
Cells(r,”C”)=a
と記述します。Cells(r,”A”)とは、r行・A列のセルを意味します。つまり、Cells(r,”A”)=n1とは、A5セルにn1を入力する、と言うことです。
前のコードと統合します。
Sub keisan()
 n1=1
 n2=2
 c=9
 r=5
 For i=1 To c
   a=n1+n2
   Cells(r+i-1,”A”)=n1
   Cells(r+i-1,”B”)=n2
   Cells(r+i-1,”C”)=a
   n1=a
   n2=n2+1
 Next
End Sub
セルに値を入力したら、次の計算のために、その時の合計aをn1に代入し、n2にn2+1を代入しています。
=を等号と理解すると、おかしな式となりますが、ここでの=は等号ではなく、代入するという意味です。
Sub … End Subの間、For i=1 To c … Nextの間はタブを入れてコードを読みやすくしています。

結 果
keisan

 

ExcelVBAでできること(1)へ           次へ

VBAソフトのことなら何なりとお問い合わせください。 TEL Mail; customerdesk@saphamy.jp

PAGETOP
Copyright © VBAソフトのSaphamy-soft All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.