多くの Excel ワークブックを開き、それらすべてのデータをターゲット ワークブックにマージするプログラムがあります。マージ後、データの変換 (カスタム ロジックを使用した列から行への転置) を行い、ルックアップ データを使用してさらに列を追加します。
次のコードがあります
Sub consolidateFiles()
On Error GoTO ErrorHandler
processFiles
transform
addLookupData
Exit Sub
ErrorHandler:
Debug.Print Err.Number & " = " & Err.Description & ", Source = " & Err.Source
End Sub
Sub processFiles()
'Here I open all the files in the directory and copy and paste into the target workbook.
'If there is an error here, I would like to know the file that caused the error
'and I would like to proceed to the next file after logging the error
End Sub
Sub transform()
'Here I transform some of the data from column to year.
End Sub
Sub addLookupData()
'Here I add some new columns by looking up the data in another sheet in the target workbook. Here the lookups can return error
End Sub
コードにエラー処理を追加するための優れたプログラミング手法を知りたいと思っていました。現在、エラーをログに記録してプログラムを続行するグローバル エラー ハンドラが 1 つあります。メイン プロシージャから呼び出している 3 つのサブプロシージャのそれぞれにエラー処理を追加することは良い考えですか?
文書化されていない ERL を使用してエラー行を取得する方法について読みました。VBA エディタで行番号を追加するにはどうすればよいですか?
これは、VBA での私の最初のプログラムです。私は多くの Java プログラミングを行ってきましたが、そこではエラー処理のパラダイムが大きく異なります。したがって、経験豊富な VBA プログラマーから、私が従うことができる優れたプラクティスは何かを学びたいと思います。
SO での VBA エラー処理に関する質問の 1 つにリンクされているこの優れた記事を読みました。