我已經設置了一個工作表,該工作表允許用戶從單元格中的數據驗證列表中選擇預設選項(B23)。用戶在這一個單元格中的選擇將觸發某些行不被隱藏,引導用戶將數據輸入到適當的行中。我用來取消隱藏相應行的VBA代碼工作正常,除非用戶將數據輸入到其中一個未隱藏行中,否則所有行都會隱藏。然後用戶需要從初始數據驗證列表(單元格B23)重新選擇它們的選項以再次取消隱藏相應的行。他們輸入的值被輸入並保存在單元格中,但他們需要在每個數據輸入步驟之間重新選擇它們的初始選擇,這很煩人,而我想要修復。爲數據輸入取消隱藏基於單元格值的行 - 刷新錯誤
我懷疑: 1)VBA代碼我蹣跚一起不考慮這一事實的用戶將數據輸入到被隱藏/將被觸發取消隱藏行,和/或 2)的關鍵問題是使用數據驗證列表(B23)刷新單元格,以觸發哪些行未被隱藏。不幸的是,我不知道該怎麼做。
任何幫助將非常感謝!
我的隱藏行的VBA代碼如下。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim allRows As Range
Set allRows = Rows("27:64")
allRows.Hidden = True
If Not Intersect(Target, Range("B23")) Is Nothing Then
If Target.Value = "A1" Then
Rows("27:31").Hidden = False
ElseIf (Target.Value = "A10-A-S" Or Target.Value = "A10-A-P" Or Target.Value = "A10-A-T") Then
Rows("32:36").Hidden = False
ElseIf (Target.Value = "A10-B-S" Or Target.Value = "A10-B-P" Or Target.Value = "A10-B-T") Then
Rows("37:44").Hidden = False
ElseIf (Target.Value = "E19S" Or Target.Value = "E19P" Or Target.Value = "E19T") Then
Rows("46:54").Hidden = False
ElseIf (Target.Value = "E20S" Or Target.Value = "E20P" Or Target.Value = "E20T") Then
Rows("56:64").Hidden = False
End If
End If
End Sub