基本
定数宣言
Public Const 定数名 As データ型 = "〇〇"
Private Const 定数名 As データ型 = "〇〇"
変数宣言
Dim 変数名 As データ型 : Set 変数名 = "○○"
プロシージャ
'基本
Public/Private Sub Test()
'...
End Sub
'マクロ機能から参照不可、自作関数として参照可能
Public/Private Function Test()
'...
End Function
例外処理
GoTo CONTINUE
GoTo EXIT_THIS
'...
EXIT_THIS:
Exit Sub
ERR_エラー名:
Msg "エラーメッセージ"
'例外発生させない
CONTINUE:
プログラム
IF
If 比較式 Then
' ...
ElseIf 比較式 Then
End If
コピペ
Sheets("シート名").Range("A1").CurrentRegion.Copy
Sheets("シート名").Range("セル番地").PasteSpecial Paste:=xlPasteValues
呼び出し
Call プロシージャ名()
Application.Run ("プロシージャ名")
枠固定/解除
※固定予定のシートをActivateさせておく必要がある。
Range("セル番地").Select
ActiveWindow.FreezePanes = True
'解除
ActiveWindow.FreezePanes = False
ステータスバー
Application.StatusBar = "○○処理中"
'非表示
Application.StatusBar = False
最終行/最終列
'行
Range("A1").End(xlDown).Row
Range("A1048576").End(xlUp).Row
'列
Range("A1").End(xlToRight).Column
Range("XFD1").End(xlToLeft).Column
オートフィルター
'Withステートメント:同じセル番地の時連続して実行できる
With Range("セル番地")
.AutoFilter Field:=1, Criteria1:="A", Operator:=xlOr, Criteria2:="B"
.AutoFilter Field:=2, Criteria1:="A"
.AutoFilter Field:=3, Criteria1:"<>A"
End With
'AutoFilterを付けるだけ
Range("セル番地").AutoFilter
'解除する
Range("セル番地").AutoFilterMode = False
オートフィル
Range("A1").AutoFill Destination:=Range("A1:A10")
Range("A1:C1").AutoFill Destination:=Range("A1:C10")
'書式のみ
Range("A1").AutoFill Destination:=Range("A1:A10") Type:=xlFillFormats
'書式なし
Range("A1").AutoFill Destination:=Range("A1:A10") Type:=xlFillValues
インポート
Dim fullpath As String: fullpath = "C:\〇〇\○○.txt"
Workbooks.OpenText(fullpath, Origin:=65001, Comma:=True)
'Shift-JIS 932
'UTF-8 65001
'UTF-16 1200
'カンマ Comma:=True
'タブ Tab:=True
'セミコロン Semicolon:=True
'スペース Space:=True
'その他 Other:=True, OtherChar:=”a”
Workbooks.OpenText Filename:=fullpath, _
Origin:=932, startrow:=1, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, _
FieldInfo:=Array(Array(1, 1),Array(2,1))_
TrailingMinusNumbers:=True
イベント
シート別のモジュールを選択し、コードウィンドウ上部にある(General)→Worksheetに変更。更に右記からイベントを選択。
その他
高速化
'開始
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'終了
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
確認メッセージ制御
'OFF
Application.DisplayAlerts = False
'ON
Application.DisplayAlerts = True