如何从excel中的两个命名范围填充单元格值?

时间:2016-03-23 19:03:29

标签: excel vba excel-vba excel-formula

我有两个命名范围

范围1:test1,test2,test3,test4

范围2:20,30,50,80

如果我从范围1中选择一个值,则应将相应的范围2值复制到下一个单元格。 例如,如果我从下拉列表中选择“test 3”,则应将文本“50”复制到相邻的单元格中。

来自OP的评论如下:
工作表2有两个命名范围 - 范围1和范围2.在工作表1中,第一列被指定为“范围1”。如果我从范围1中选择一个值,那么相邻的单元格应该具有相应的“范围2”值。

2 个答案:

答案 0 :(得分:2)

这应该就是你所需要的。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "B3" Then
        Application.EnableEvents = False
        Target.Offset(0, 1) = Range("range2") _
            (Application.Match(Target.Value, Range("range1"), 0))
        Application.EnableEvents = True
    End If
End Sub

答案 1 :(得分:0)

此公式在range1中找到下拉文本,并在range2中调用该位置。

将A1替换为下拉选择的位置。

假设:两个数组的长度相等。

=IFERROR( INDEX( range2, MATCH(D2, range1)), "•")