EXCEL中VB只能运行一次

2025-01-08 09:51:56
推荐回答(5个)
回答1:

其实你的代码已有错误,因为你运行一次到第11列为“OK”,且第4 列为“0”时,已自动隐藏该行,你保存后,再次重新打开运行,当执行到第11列和第4列时,又判断为隐藏,可是该行已经被你隐藏了,又如何再作重新隐藏,所以这时程序就出现无法运行。
解决办法:你应该加上一段判断语句,当此行已经隐藏时,则跳过该行继续往下运行,这样程序才能运行到最后而达到你想要的效果!

回答2:

你这个事件worksheet_selectionchange只在单元格被选择发生变化时才触发,如果你想每次EXCEL表打开时都自动执行你这个判断的话,把你的代码放到worksheet_activate事件吧,意思是EXCEL表被打开或者被激活的时候触发

回答3:

关闭表格时解除隐藏,否则下次打开,该隐藏的已经隐藏,自然没效果

回答4:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
on error resume next
For i = 1 To 500
If Cells(i, 17) = "ok" And Cells(i, 4) = 0 Then Rows(i).Hidden = True '隐藏该行
Next
End Sub

回答5:

excel菜单-工具-宏-安全性-中或者低