我有用于隐藏和取消隐藏Excel工作表中的行的代码。它工作正常,但是存在问题。
我有几个部分,分别是:46:42、41:37、36:32和31:27。
我想逐步隐藏它们,因此在单击一次按钮46:42之后将其隐藏,第二次单击41:37,第三次单击36:32,第四次单击31:27。
我当前的代码取消隐藏一切正常,但是在第五次单击时突然取消隐藏48:51。有什么问题吗?
Public counter2 As Long
'Unhide step by step on each click
Sub UnhideEducation()
Dim RngTxt As String, RngAR() As String, ThisRng As String
counter2 = (counter2 + 1) Mod 5
ThisRng = "" & (47 - (counter2 * 5)) & ":" & (47 - (counter2 * 5) + 4)
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Filling form").Unprotect
ThisWorkbook.Sheets("Filling form").Rows(ThisRng).EntireRow.Hidden = False
ThisWorkbook.Sheets("Filling form").Protect
Application.ScreenUpdating = True
End Sub
'Hide everything set counter2to 0
Sub HideEducation()
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Filling form").Unprotect
Rows("27:46").EntireRow.Hidden = True
counter2 = 0
ThisWorkbook.Sheets("Filling form").Protect
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:3)
您似乎想oauth2/authorize
而不是counter2 = (counter2 + 1) Mod 5
如果您定义模数为5的数字,则预计它将生成5步。
设置模4的变量,然后加1将使其从1循环到4。