言語ごとに書き方が若干異なる部分を中心にまとめています。
特徴
Excel VBA (Visual Basic for Applications)は、Microsoft Excelに搭載されているプログラミング言語です。その特徴は以下の通りです。
- Excelのワークシートやグラフなどの操作ができる
- マクロを記述し、自動化やデータ処理を行うことができる
- Microsoft Officeアプリケーションで共通のVisual Basic言語を使用するため、他のアプリケーションでも簡単に学習できる
- オブジェクト指向に対応しており、柔軟なプログラミングが可能
- ExcelのUIに直接アクセスし、操作を自動化することができる
Excel VBAはExcelに搭載されているプログラミング言語であり、Excelのワークシートやグラフなどの操作ができます。マクロを記述し、自動化やデータ処理を行うことができます。Microsoft Officeアプリケーションで共通のVisual Basic言語を使用するため、他のアプリケーションでも簡単に学習できます。
また、オブジェクト指向に対応しており、柔軟なプログラミングが可能です。ExcelのUIに直接アクセスし、操作を自動化することができるので、大量のデータを扱うことができます。
比較演算子
演算子 | 説明 |
= | 等しい |
<> | 等しくない |
> | より大きい |
>= | 以上 |
< | より小さい |
<= | 以下 |
論理演算子
演算子 | 説明 |
And | And |
Or | Or |
Xor | Xor |
Not | Not |
If (True And True) Then print("And") End If
If (True Or False) Then print("Or") End If
If (True Xor True) Then print("Xor") End If
If (Not False) Then print("Not") End If
繰り返し
For i = 1 To 10 Print (i) Next
For i = 1 To 10 Step 2 Print (i) Next
For i = 10 To 1 Step -1 Print (i) Next
配列
Dim items() As Variant items = Array(1, 2, 3, 4, 5) For Each item in items Print item Next item
予約語
ThisWorkBook:マクロを実行しているワークブック ActiveWorkBook:現在表示しているワークブック ActiveWorkSheet:現在表示しているワークシート
マクロの高速化
画面の描画を停止させることで、マクロの実行を高速化させることが出来る
Application.ScreenUpdating = False ~実行させたいマクロ~ Application.ScreenUpdating = True
マクロの高速化2
自動計算を止めることで、値を変更した際に再計算が走らず高速化される
tmp_calc = Application.Calculation Application.Calculation = xlCalculationManual ~実行させたいマクロ~ Application.Calculation = tmp_calc
最終行の取得
上から下に検索
Cells(1, 1).End(xlDown).Row
下から上に検索
Cells(Rows.Count, 1).End(xlUp).Row