VBA代码隐藏多个工作表上的userform指定的行列表停止工作

我的计时工作簿有52张表,每张包含一年中一周的数据。 每张纸上的单元格A16有周一开始的一周。 (即在表格“6月15日”, A16 =“6月11日”,作为date(6/11/2017)存储)

有时,我需要显示或隐藏这个date的行。 举例来说,第22行对我来说可能是有用的,直到本周,但是今年剩下的时间不会,所以我想把它从6月11日开始隐藏起来。

我编写了一个打开一个用户窗体的代码,接受一个以逗号分隔的列表,对于任何数值,都隐藏这些行。

 Sub HideRows() Dim WS As Worksheet Dim firstDate As Double Dim hidelistEntry As Variant hidelistEntry = InputBox("Enter list of rows to HIDE from this sheet forward. (Comma Separated)") hidelist = Split(hidelistEntry, ",") 'Turn input into an array of values. firstDate = ActiveSheet.Range("a16").Value For Each WS In Worksheets If firstDate <= WS.Range("A16").Value Then For Each hiderow In hidelist If IsNumeric(hiderow) Then 'Check to see if each item is a number WS.Rows(Int(hiderow)).EntireRow.Hidden = True End If '*****************See comment below Next End If Next End Sub 

这个代码一直都在为我工作,直到今天。 它现在隐藏列表中的第一行,在第一页上,然后抛出一个“代码执行已被中断”的错误,debugging带我到上面标有星号的行。 基本上,它不能成功迭代到hideList中的第二个数字项目,或者如果没有一个,就干脆退出。 (如果我input“狗,猫,12,13” ,它会正确地忽视 ,隐藏12 ,然后不能移动到13

任何人都可以看到出了什么问题,或build议如何find这个错误? 这个工作好几个月了,据我所知,什么都不应该改变。 我很难过

如果是信息性的,这里是错误后的样本本地人: 在这里输入图像说明

编辑:我重新启动我的电脑,现在它工作在以前。

尝试注释导致问题的行,运行它(这当然意味着它不会执行任何操作),然后将行重新写入并重新编译。 这在过去对我很有用。