[英]How to hide rows based on cell value?
我試圖讓單元格 A21 包含 0-10 之間的整數值,其中 0 表示 22-31 之間沒有行,1 表示第 22 行,2 表示 22 和 23,3 表示 22、23 和 24 等。
Private Sub Worksheet_Calculate()
Dim GenRequire As Integer
GenRequire = Range("A21").Value
Rows("22:31").EntireRow.Hidden = True
Select Case GenRequire
Case Is = 0: Rows("22:31").EntireRow.Hidden = True 'No Rows shown
Case Is = 1: Rows("22:22").EntireRow.Hidden = False '1st Row shown
Case Is = 2: Rows("22:23").EntireRow.Hidden = False '1-2 rows shown
Case Is = 3: Rows("22:24").EntireRow.Hidden = False '1-3 rows shown
Case Is = 4: Rows("22:25").EntireRow.Hidden = False '1-4 rows shown
Case Is = 5: Rows("22:26").EntireRow.Hidden = False '1-5 rows shown
Case Is = 6: Rows("22:27").EntireRow.Hidden = False '1-6 rows shown
Case Is = 7: Rows("22:28").EntireRow.Hidden = False '1-7 rows shown
Case Is = 8: Rows("22:29").EntireRow.Hidden = False '1-8 rows shown
Case Is = 9: Rows("22:30").EntireRow.Hidden = False '1-9 rows shown
Case Is = 10: Rows("22:31").EntireRow.Hidden = False '1-10 rows shown
End Select
End Sub
我在Case Is = 10:
上遇到錯誤,
運行時錯誤 1004:、應用程序定義或對象定義錯誤。
我的 Excel 版本有 Office 365。
我會做一些簡化:
Private Sub Worksheet_Calculate()
Dim r
r = Range("A21").Value
If Not IsNumeric(r) Then Exit Sub
r = Round(r, 0)
With Rows(22)
If r >= 1 And r < 10 Then
Range(.Offset(0), .Offset(r - 1)).Hidden = False
Range(.Offset(r), .Offset(9)).Hidden = True
Else
Range(.Offset(0), .Offset(9)).Hidden = r <> 10
End If
End With
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.