可添加新值的VBA下拉列表
问题描述:
我有一个受保护的工作簿,它具有使用数据验证手动创建的下拉列表。可添加新值的VBA下拉列表
我有一个隐藏的工作表,其中我已经为其中的值定义了名称,并使用=SheetName!A1:A6
在实际工作表上创建了数据验证。
这足够我的需要。然而,新的请求引发了应该有能力增加用户新值的能力。
例如:假设我有一个下拉值为A,B和C.现在用户必须从三个中选择一个。但是,如果他想要D,E(一次性使用),他应该能够增加任何新的价值。不需要将这些值保留在下拉列表*将来使用。
答
而不是使用固定列表使用offset
函数来创建一个动态的命名范围并将数据验证分配给指定的范围。这样,所有用户需要做的是在列表中添加其他项目,它得到数据验证下拉更新以及
Here是关于如何做一个链接,如果你不知道如何
答
你知道你的值存储到APPEA的隐藏的工作表在你的下拉菜单中?
插入第1行前的列,然后在A1的值(这应该是因为你刚刚插入空白)描述列表如ListValues
然后选择在列中的所有数据A(不包括空格),按Ctrl + T,勾选表示我的数据/表格有标题的框,单击确定。
您现在应该有一个1列Excel表格。如果单击表格,然后单击屏幕顶部的设计,则可以使用屏幕左上角的字段命名表格。
然后,您可以参考您的验证范围为(确保你还告诉VBA什么工作簿和工作表的表位于):
Range("TABLENAME[COLUMNHEADER]")
你应该用你给的名称替换TABLENAME它在步骤3和COLUMNHEADER中以上面步骤2中给出的名称。
在表的最后一行下方输入新值将导致表自动扩展并包含新添加的值。要删除值,您需要删除整个表格,而不是删除该值。
希望有所帮助。