プログラミング兼読書日記

プログラミングをしていて、はまってしまった事を中心に記事にしています。

Exel VBA 最低限のまとめ

この記事ではちょっとデータの整理をexcelでやらなければならないことがあったので、最低限VBAを用いて、これがあればデータを操作できるというものをまとめておきます。

まず、VBAについて他の言語と特に違うことは

  • プログラムの予約後、変数名のlowerCase、upperCaseの区別はない
  • 構文の書き方がちょっと古い
  • 配列の作成の仕方でインデックスの最大値を指定するため、c言語などと比べると1個多くかんじる

ということです。

以下、最低限必要なことは

  1. 変数の宣言、代入
  2. 数、文字列の型
  3. 数、文字列の四則演算、変換
  4. 比較演算子
  5. If、For構文
  6. 配列
  7. Excelのセルの値の参照と書き込み

1.変数の宣言、代入

宣言:Dim 変数名 As 変数型

代入:Dim 変数名=代入する値

宣言&代入:Dim 変数名 As 変数型: 変数名 = 代入する値

2.数、文字列の型

数について

整数32bit:Integer

整数64bit:Long

float:Single

double:Double

文字列はString型

3.数、文字列の四則演算、変換

数について

+、-、*、/は通常の四則演算

商は\、余りはMod、べき乗は^

文字列から数:Val関数

文字列について

+、&はともに文字列の結合

数から文字列:CStr関数

4.比較演算子

大小は通常の>、>=、<、<=が使える

等しい、等しくないはそれぞれ=、<>

5.If、For構文

If 条件式1 Then
    条件式1を満たした場合の処理
ElseIf 条件式2 Then
    条件式2を満たした場合の処理
Else
    条件式1と条件式2を満たさなかった場合の処理
End If
For カウンタ変数 = 初期値 To 最終値 (Step 毎回の増分)
    処理
Next

for文でbreakするにはExit For

Do While 条件式
    条件式を満たすまで繰り返す処理
Loop

While文でbreakするにはExit Do

6.配列

Dim 変数名(個数) As 変数型

Dim array(5) As Integerならarray(0)からarray(5)までの6個が使用可能

7.Excelのセルの値の参照と書き込み

セルの値以下で参照

WorkSheets("SheetName").Range("A1").Value

WorkSheets("SheetName").Cells(1,1).Value 'indexのはじめは1

Valueのところを他のプロパティ名で参照可能

WorkSheets("SheetName").Activateを呼べば、WorkSheetsの部分は省略可能

書き込みはふつうに代入すればよい