[英]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.