我有一个隐藏行的列表,想要创建一个没有隐藏行的下拉菜单。我怎么能这样做,以便下拉列表只使用未隐藏的行/单元格?
如果我将行过滤到我的标准,并且我想要从未隐藏的行中创建其余单元格的下拉菜单。它还使用隐藏的行。我不想要的。 我无法删除隐藏的行。只有在没有隐藏的东西的情况下复制这些东西并不是最好的主意。
所以有人知道我的下拉菜单如何忽略隐藏的行/单元格吗?
请帮帮我:)谢谢
答案 0 :(得分:0)
范围是类型" List"的数据验证来源。不会对隐藏的行做出反应。
你可以做的是
在下面的示例中,命名范围List_of_Values包含所有可能的选择以及仅使用自动筛选的列标题,命名范围FilteredList
最初只是一个空单元格,下面有足够的空间,数据验证设置为允许 - > List
/来源 - > =FilteredList
现在您将任何过滤器应用于原始列表,无论如何(按钮,诸如sheet.deactivate之类的事件,或只是Developer / Macros / Run等),您启动Sub Update_LOV,它将仅复制非隐藏的行原始到过滤/验证列表。
Sub Update_LOV()
Dim R_Filt As Range, R_Orig As Range, Idx As Integer, Jdx As Integer
Set R_Orig = Range("List_of_Values")
Set R_Filt = Range("FilteredList")
Idx = 1
Jdx = 1
R_Filt.Clear
Do While R_Orig(Idx, 1) <> ""
If Not R_Orig(Idx, 1).EntireRow.Hidden Then
R_Filt(Jdx, 1) = R_Orig(Idx, 1)
Jdx = Jdx + 1
End If
Idx = Idx + 1
Loop
Range(R_Filt(1, 1), R_Filt(Jdx - 1, 1)).Name = R_Filt.Name.Name
End Sub