私はExcelでテーブルを循環しようとしています。この表の最初の3列にはテキストの見出しがあり、残りの列には見出しとして日付があります。これらの日付を順番にDate型変数に割り当ててから、日付に基づいていくつかの操作を実行したいと思います。
これを行うために、myTable.ListColumnsでforeachループを使用しています。最初の3列には日付ヘッダーがないため、ヘッダー文字列をdate-type変数に割り当てるときにエラーが発生した場合に、ループが次の列に直接進むようにループを設定しようとしました。
これは最初の列で機能するようです。ただし、2番目の列のヘッダーがdate-type変数に「割り当てられている」場合、マクロはエラー処理ブロック内にあるにもかかわらずエラーが発生します。
Dim myCol As ListColumn
For Each myCol In myTable.ListColumns
On Error GoTo NextCol
Dim myDate As Date
myDate = CDate(myCol.Name)
On Error GoTo 0
'MORE CODE HERE
NextCol:
On Error GoTo 0
Next myCol
繰り返しになりますが、エラーはループの2番目のラウンドのステートメントでスローされます
myDate = CDate(myCol.Name)
On Errorステートメントが機能しなくなる理由を誰かが説明できますか?