「たった1秒で仕事が片付くExcel自動化の教科書」を読んで、ドッグイア―したところを記載。
#設定
1. 変数の宣言を強制 & 自動構文チェックなし
・VBE起動>ツール>オプション>編集タブ
・「自動構文チェック」を外す
⇒構文に不備がある度に警告が出現するのを防ぐ
・「変数宣言を強制する」にチェックを入れる
⇒変数名の打ち間違い等の特定を容易にする
・OKで閉じる
※次回設定変更するまで反映される。
2. Excel画面更新の停止
画面が頻繁に切り替わるマクロの場合、Falseにすると高速化する。
Application.ScreenUpdating = False
#構文
1. With構文
一括で指定したい場合に用いる。
下記の場合、「Re.」を「.」入力するだけでOK。
Sub test()
Dim i As Integer
Dim Re As Object '正規表現=Regular expressions
Set Re = CreateObject("VBScript.RegExp") '正規表現オブ
With Re
For i = 5 To Cells(Rows.Count, 1).End(xlUp).Row '最終行取得
.Pattern = "ABC" '検索したい文字列を定義
.Global = True 'True:文字列全体を検索
Cells(i, 7) = .Replace((Cells(i, 7).Value), "")
Next i
End With
2. Offset
Offsetはセルの移動。
・書式
Rangeオブジェクト.Offset(行, 列)
RangeオブジェクトをOffsetに指定した分だけ移動させる。
例)
Range("A1:D5").Offset(0, 2).Select
最終行、最終列取得
Dim m, n As Integer
n = Cells(Rows.Count, "B").End(xlUp).Row
'B列の最終行を取得
m = Cells(2, Columns.Count).End(xlToLeft).Column
'2行目の最終列をす