我正在创建一个用户界面,允许用户最多使用10个数据标签。在大多数情况下,用户将使用较少的标签(比方说3)。我对一个代码感兴趣,该代码在十个选项卡的[P2:P11]范围内运行。如果正在使用数据选项卡,则该框返回" True"但是当一个标签未被使用时,它会返回" False的值。"
如果用户只使用1,2和3,我希望用户没有看到其他数据标签(4-10)的负担。(为方便起见,数据标签实际上标记为1,2,3等)。此宏旨在在名为" HIDE_ME"的页面上运行。当程序发送给用户时将隐藏。我已经为下面的事件创建了代码,但我无法让它们运行。任何人都可以帮我找到我的错误吗?非常感谢。
Sub Worksheet_Change(ByVal Target As Range)
If [P2] = "True" Then
Sheets("1").Visible = True
Else
Sheets("1").Visible = False
End If
If [P3] = "True" Then
Sheets("2").Visible = True
Else
Sheets("2").Visible = False
End If
If [P4] = "True" Then
Sheets("3").Visible = True
Else
Sheets("3").Visible = False
End If
If [P5] = "True" Then
Sheets("4").Visible = True
Else
Sheets("4").Visible = False
End If
If [P6] = "True" Then
Sheets("5").Visible = True
Else
Sheets("5").Visible = False
End If
If [P7] = "True" Then
Sheets("6").Visible = True
Else
Sheets("6").Visible = False
End If
If [P8] = "True" Then
Sheets("7").Visible = True
Else
Sheets("7").Visible = False
End If
If [P9] = "True" Then
Sheets("8").Visible = True
Else
Sheets("8").Visible = False
End If
If [P10] = "True" Then
Sheets("9").Visible = True
Else
Sheets("9").Visible = False
End If
If [P11] = "True" Then
Sheets("10").Visible = True
Else
Sheets("10").Visible = False
End If
End Sub
答案 0 :(得分:0)
Sub DataSheetsShown()
'Test whether or not the cell value is present
'If value is present, show field
If IsEmpty(Range("P2").Value) = True Then
Sheets("1").Visible = False
End If
If IsEmpty(Range("P3").Value) = True Then
Sheets("2").Visible = False
End If
If IsEmpty(Range("P4").Value) = True Then
Sheets("3").Visible = False
End If
If IsEmpty(Range("P5").Value) = True Then
Sheets("4").Visible = False
End If
If IsEmpty(Range("P6").Value) = True Then
Sheets("5").Visible = False
End If
If IsEmpty(Range("P7").Value) = True Then
Sheets("6").Visible = False
End If
If IsEmpty(Range("P8").Value) = True Then
Sheets("7").Visible = False
End If
If IsEmpty(Range("P9").Value) = True Then
Sheets("8").Visible = False
End If
If IsEmpty(Range("P10").Value) = True Then
Sheets("9").Visible = False
End If
If IsEmpty(Range("P11").Value) = True Then
Sheets("10").Visible = False
End If
End Sub