VBAコーディング
・サブプロシージャ
Sub aaa()
メイン処理
GoSub sub1 'ここでsub1に飛ぶ
メイン処理
Exit Sub
sub1:
サブ処理
Return '戻る
End Sub
・業務エラー処理(スローして呼び出し元で)
Sub a()
IF (エラー) then Err.Raise Number:=999
End Sub
Sub Main()
On Err Goto Have.Err
call a()
Exit Sub
Have_Err:
Select Case Err.Number
Case 999 (処理)
End Sub
・cell→rangeの変換
cells(1,1).Adress→$A$1
cells(1,1).Adress(True,True)→$A$1
cells(1,1).Adress(False,False)→A1
など
・Selectメソッドは使わない
Selectをするたびにアプリケーションの動作が入り、実行速度が犠牲になりますし、クリップボードを使うのはユーザーの干渉を受ける可能性があり危険です。
https://tonari-it.com/excel-vba-coding-guide-line/#toc13
・Callを使ってプロシージャを呼ぶ
Callなしで使われているコードは、(VBAに慣れてないと)「このコードは何かのメソッドやプロパティかなぁ」などとなってしまうことがあるからです。
http://www.excel-wing.com/study/jitumu/723
・GotoとGoSub