我试图循环遍历Excel中的一个表。此表的前三列具有文本标题,其余列具有日期作为标题。我想将这些日期按顺序分配给Date类型变量,然后根据日期执行某些操作。
为此,我正在使用foreach循环来遍历myTable.ListColumns。由于前三列没有日期标题,因此我尝试设置循环,以便如果将标题字符串分配给日期类型变量时出现错误,则循环直接进入下一列。
似乎这对第一列起作用。但是,当第二列的标题“分配”到日期类型变量时,即使它在错误处理块内,宏也会遇到错误。
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
再强调一下,在循环的第二轮执行时,该语句抛出了错误。
myDate = CDate(myCol.Name)
有人能解释一下为什么On Error语句停止工作吗?
On Error Resume Next
。目前,你正在每个列上重新使用错误处理。 - brettdj