VBAメモ書き
VBAでよく使うもののメモ
久々に書いたら書き方をもう忘れたのでメモ
基礎処理系
画面描画停止
プログラム実行中は描画処理を止めておくと処理速度が上がる
Application.ScreenUpdating = False '描画停止 Application.ScreenUpdating = True '描画開始
列の最終行を取得
下記はC列の最後の行数を取得
Cells(Rows.Count, 3).End(xlUp).row()
動き:
Excel 97-2003形式のブックなら65,536
Excel 2007以降のブックなら1,048,576の行数が値(Long型)として入ってくる
FunctionとSubの違い(ざっくり)
- Function
戻り値が返せる。
マクロ実行関数として表示されない(単独で実行できない) - Sub
戻り値が返せない。
マクロ実行関数として表示される(単独で実行できる)
書き方:
Sub Main() ret = FunctionName(引数値) '戻り値がない場合 Call NoRet End Sub Function FunctionName(引数名 As 型) As 戻り値の型 '戻り値は関数名に値を代入するように形式 FunctionName = 戻り値 End Function Function NoRet() End Function
演算子系
算術演算子
演算子 | 説明 |
---|---|
+ | 足し算 |
- | 引き算 |
* | 掛け算 |
/ | 割り算 |
|割り算の商 | |
Mod | 割り算の余り |
^ | べき乗 |
比較演算子
演算子 | 説明 |
---|---|
< | 小さい |
<= | 以下 |
> | 大きい |
>= | 以上 |
= | 等しい |
<> | 等しくない |
論理演算子
演算子 | 説明 |
---|---|
And | 論理積 |
Or | 論理和 |
Not | 否定 |
処理構文
・For文
For 変数 = 初期値 To 終了値 [Step 増分] 繰り返し回数までの処理 Next 変数
・If文
If 条件式 Then 処理 ElseIf 条件式 Then 処理 Else 処理 End If