我写了以下内容,如果单元格e3中的值不是DWW,则希望隐藏行6:10
,如果是DWW,则我要重新显示这些单元格。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E3")) Is Nothing Then
If LCase$(Range("E3").Value) = "DWW" Then
'if "DWW" is entered in E3, rows are Visible
Rows("6:10").EntireRow.Hidden = False
Else
'if E3=blank or anything other than "DWW", hide rows
Rows("6:10").EntireRow.Hidden = True
End If
End If
End Sub
我的配方没有重新出现细胞,有人可以帮忙吗?
谢谢。
答案 0 :(得分:3)
LCase
会将值更改为小写。
使用Ucase
:
If UCase$(Range("E3").Value) = "DWW" Then
或匹配小写字母
If LCase$(Range("E3").Value) = "dww" Then
答案 1 :(得分:0)
您已经可以得到更有效的答案,但是可以使用正则表达式
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E3")) Is Nothing Then
Rows("6:10").EntireRow.Hidden = True
With CreateObject("VBScript.RegExp")
.Global = True
.MultiLine = True
.Pattern = "DWW"
If .test(Target) And Len(Target) = 3 Then Rows("6:10").EntireRow.Hidden = False
End With
End If
End Sub