【问题标题】:Set validation list based on other cell根据其他单元格设置验证列表
【发布时间】:2022-11-18 17:48:59
【问题描述】:

我有一个 XL 表,其中有一个简单的下拉列表,其中包含 2 个条目(制造和健康)。对于其中的每一个,我都有单独的命名范围,其中包括我们在这些行业中合作的地点。根据第一个下拉列表,这些命名范围中的每一个都被赋予了一个名称——例如Manufacturing_locations 和 Health_locations。

我要做的是选择第一个下拉列表时,要填充第二个下拉列表,其中包括名为范围的值 - 以便将第二个下拉列表动态填充。

在测试中我添加了行

var = 范围(名称).地址

在我创建 name = Range("B2").Value & "_locations" 的位置之后,它在那个报告相同错误的调用上失败了,所以这是罪魁祸首。就好像它无法获取范围的地址 - 但是 - 命名范围是全局的(即工作簿范围),如果我实际上将“名称”替换为对列表数据所在的单元格的直接引用,它也是失败(查询!$C$3:$C$6)

在另一个工作表上引用一个范围就像我在同一个工作表上引用一个范围一样(例如删除“查找!”引用)它工作正常 - Range.address 函数是否不能跨工作表工作?如果不是很奇怪。

这是我得到的子,但每次它到达 Validation.Add 调用时,我得到对象 _worksheet 的错误方法范围失败。想法?

Private Sub Worksheet_Change(ByVal Target As Range)

' Set defaults based on Solution choice
If Not Intersect(Target, Range("ChooseIndustry")) Is Nothing Then
    Dim name
         
    name = Range("B2").Value & "_locations"
    
    Range("Customer Input!B4").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Range(name).Address

End If

End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多