【发布时间】:2023-01-17 17:33:54
【问题描述】:
我正在尝试根据同一工作表上单元格 C11 中的数字值显示表格中的多个列。
数据当前在表中,但如果有帮助,则不一定。
单元格 C11 包含多个星期,即“6”,范围“标题”包括周数(此范围是“Table1”的标题范围)。
列数从来都不是固定数量,它是根据 C11 的值动态变化的。
到目前为止,我已经尝试了两个脚本,但都没有做任何事情:
1 -
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rHdr As Range, rHdrs As Range
Dim strFirstAddr As String
If Target.Address <> "$C$11" Then Exit Sub
Set rHdr = Range("Headers").Find(Target.Value, LookIn:=xlFormulas)
If Not rHdr Is Nothing Then
strFirstAddr = rHdr.Address
Set rHdrs = rHdr
Do
Set rHdrs = Application.Union(rHdrs, rHdr)
Set rHdr = Range("Headers").FindNext(rHdr)
Loop Until rHdr.Address = strFirstAddr
Range("Headers").EntireColumn.Hidden = True
rHdrs.EntireColumn.Hidden = False
End If
End Sub
2 -
Sub HideColumns()
Dim p As Range
For Each p In Range("Headers").Cells
If p.Value < C11 Then
p.EntireColumn.Hidden = True
End If
Next p
End Sub
【问题讨论】: