BizFAQ-ビズファック

仕事・ビジネスにおけるちょっと困ったこと、わからないことをズバリ解決お悩み解決サイトです。

  • TOP
  • 副業解禁時代の年収1000万円戦略
  • Excel
  • Word
  • PowerPoint
  • サイトマップ

VBAを利用する最大の理由!For文を使いこなせ!(カウントアップ/ダウン編)

2015年4月2日 by Gen

VBA_For_2

VBAは同じようなことを大量にすることが得意です。大量にさせる時用いるのがFor文です。VBAのForはC言語のFor文のように多機能ではありませんが、その分とても取っ付き易い構文になっています。For文を使いこなして業務を高速化させましょう!



目次

  • For文VBAはじめの一歩
    • 1.For文の構文
      • For Variable = Start To End Step StepNum ‘VariableがStartからEndまでStepNum間隔ごとにカウントアップ/ダウン Next Variable
    • 2.サンプルを作ってみよう
      • Sub sumple() Dim i As Integer For i = 1 To 10 Cells(i, 1) = i Next i End Sub
    • 3.九九を作ってみよう
      • Sub sumple() Dim i As Integer Dim j As Integer For i = 1 To 9 For j = 1 To 9 Cells(i, j) = i * j Next j Next i End Sub

For文VBAはじめの一歩

VBAのFor文は大雑把に分けてカウントアップ/ダウンのForとオブジェクトループをするForの2種類に分かれます。VBAでは2種類とも頻出ですが、この記事では前者のカウントアップ/ダウンのみ解説します。後編のオブジェクトループもどうぞ

1.For文の構文

For文の構文はとてもシンプルです。
基本構文は

For Variable = Start To End Step StepNum
‘VariableがStartからEndまでStepNum間隔ごとにカウントアップ/ダウン
Next Variable

です。

ここでStep StepNumの部分と、Next VariableのVariableの部分は省略可能です。前者を省略した場合はStep 1が内部的に補完され1ずつカウントアップします。後者の省略は無視されるだけです。

2.サンプルを作ってみよう

A1からA10まで数字を1ずつ増やして入力してみます。

Sub sumple()
Dim i As Integer

For i = 1 To 10
Cells(i, 1) = i
Next i
End Sub

実行後はこのような形になります。

VBA_For_1

3.九九を作ってみよう

先程もそうでしたが、単純なループ変数の場合「 i 」を使うことが多いです。
その中で更にループする時(ネストするといいます)は「 j 」、「 k 」とiからアルファベット順になることが多いです。

これはプログラミング業界の慣習で、ほとんどの人が暗黙のルールとして従っています。しかし一時的な変数に対してこのような名前付けをすべきで、この記事の例の「 i 」は「Row」とすべきですし、「 j 」は「Column」とすべきです。

しかし今回はサンプルということで、シンプルさを追求しました。
九九を表示するVBAコードは以下になります。

Sub sumple()
Dim i As Integer
Dim j As Integer

For i = 1 To 9
For j = 1 To 9
Cells(i, j) = i * j
Next j
Next i
End Sub

実行後は次のような形になります。

VBA_For_2


今回でVBAにおけるFor文の一番簡単な部分はマスターできたと思います。
ただ簡単と言いつつ、Forを使う8割の場合はこの一番シンプルなFor文ですから価値は十分にあります。

蛇足ですが、セルの指定を数字で出来るという点でRangeよりCellsのほうがFor文と相性がいいオブジェクトになります。

Rangeの記事はこちら

Cellsの記事はこちら

Filed Under: For Tagged With: Excel, For, vba, マクロ




© Copyright 2015 BizFAQ · All Rights Reserved · Powered by WordPress · Admin