繁体   English   中英

链接 2 数据验证单元

[英]Link 2 Data Validation Cells

我正在尝试链接其中包含数据验证列表的 2 个单元格,以便当其中 1 个单元格(例如单元格 A2)从下拉列表中的选择中填充 SKU 时,单元格 B2 将填充 SKU 描述反之亦然。

到目前为止,请参阅下面的图片。 我已经命名了这些列:

A 列 = a_val

B 列 = b_val

具有值的 SKU 列 = vrac

具有值的 SKU 描述列 = vrac_description

包含 SKU 和 SKU 描述的表 = 描述

请参阅附件图片了解我目前拥有的内容。

1 张是空字段,我在 A 列和 B 列上有数据验证列表,因为我希望能够从 A 列或 B 列选择 select 但希望在我选择时自动填充其中一个对面单元格中列表中的项目

谢谢!

Private Sub Worksheet_Change(ByVal Target As Range)

   If Not Intersect(Target, Range("a_val")) Is Nothing Then
        With Application.WorksheetFunction
            UI False
                Range("b_val").Value = .Index(Range("vrac_description").Value, .Match(Range("a_val").Value, Range("description").Value, 0))
            UI True
        End With

    ElseIf Not Intersect(Target, [b_val]) Is Nothing Then
        With Application.WorksheetFunction
            UI False
                [a_val].Value = .Index([vrac], .Match([b_val], [vrac_description], 0))
            UI True
        End With
    End If

End Sub

Public Sub UI(t As Boolean)

    Application.EnableEvents = t
    Application.ScreenUpdating = t

End Sub

当前代码

主表

数据验证查找

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo errorexit
    Dim r, i As Long, cell As Range
    i = Target.Column
    If i > 2 Or Target.Value = "" Then Exit Sub
    
    Set cell = Target.Offset(, 3 - i * 2)
    With Sheets("Data_Validation").ListObjects("description").DataBodyRange
        r = Application.Match(Target.Value, .Columns(i), 0)
        If Not IsError(r) Then
            Application.EnableEvents = False
            cell = .Cells(r, 3 - i).Value
        End If
    End With
errorexit:
    Application.EnableEvents = True
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM