我试图根据单元格的内容隐藏/显示一系列行。使用下面的代码,但我不断收到#name错误
Function HURows(ByVal rng As Range)
If rng.Value = "TRUE" Then
Range("C8:L23").Hidden = True
Str = "Hidden"
Else
Range("C8:L23").Hidden = False
Str = "Shown"
End If
HURows = Str
End Function
此代码已放置在Sheet1(Sheet1)VBA代码的部分中,并在Sheet1 =HURows(C3)
中使用。
答案 0 :(得分:1)
您至少有两个问题:
答案 1 :(得分:0)
正如Gary所说,函数只能显示一个值,你需要一个宏来隐藏和取消隐藏行。
我们可以使用工作表事件来使代码自动运行,但您必须提供更多详细信息。与此同时,这里有一些代码可以帮助您入门。
Sub HideRws()
Dim HidRw As Range, x, s As String
Dim rng As Range
Set rng = Range("A1")
Set HidRw = Range("C8:L23")
HidRw.EntireRow.Hidden = False
x = IIf(rng = "True", 1, 0)
s = IIf(rng = "True", "Hidden", "Shown")
HidRw.EntireRow.Hidden = x
rng.Offset(0, 1) = s
End Sub