VBA设置数据有效性(取列数据)

本文介绍如何使用VBA在Excel中设置数据验证,并实现单元格选择时的联动效果。通过示例代码展示了如何根据选定单元格的值,动态更新其他单元格的数据验证列表。适用于需要在表格中实施复杂数据规则的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  On Error Resume Next
    'site
    With Sheets("site").Columns(4).Validation
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=tmpl!$A:$A"
    End With
    Sheets("site").range("D1:D6").Validation.Delete

具体方法的使用请参考MSDN

联动demo

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim tarVal As String
    tarVal = Target.Value
    If tarVal <> "" And Target.Column = 1 Then
        Debug.Print "a"
        Debug.Print Target.Row
        Debug.Print Target.Column
        Debug.Print Sheet2.Range("a:a").Find(Target.Value).Address
        Debug.Print Sheet2.Cells(Sheet2.Range("a:a").Find(Target.Value).Row, 2).Value
        
         With Sheets("sheet1").Cells(Target.Row, 2).Validation
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Replace(Sheet2.Cells(Sheet2.Range("a:a").Find(Target.Value).Row, 2).Value, ";", ",")
        
        End With
        
        
        
    End If
End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值