使用列标题在新列中显示数据列

时间:2018-08-06 13:42:08

标签: excel vba drop-down-menu excel-formula

我正在尝试基于下拉列表在Excel中创建可调用的数据列。

该想法是使用Excel中“数据”菜单中的“数据验证”在列末尾的标题单元格中创建所有列名称的列表。

enter image description here

然后,当您从列表中选择列名称时,整个列将使用您引用的名称中的列值填充。

应该看起来像这样。

enter image description here

在只有少数列需要调用的情况下,使用IF语句很容易做到。当有数百列时,您希望能够引用。 IF语句方法意味着您将不得不编写数百个IF语句。

是否可以通过VBA或其他方式对许多列执行此操作?

2 个答案:

答案 0 :(得分:0)

我不太确定您现在要做什么,但这将是一个想法,即如何存储您的值或仅从工作表中的其他位置复制它们

Sub Test()

    Dim Column_1 As Variant

        Column_1 = Range("B1:B500")
    'You could use "Column_1" to get your values whereever you need 
End Sub

Sub Test_2()
    If Sheets("OneOfYourSheets").Range("B1") = Sheets("OneOfYourSheets").Range("xyz1") Then
        Sheets("OneOfYourSheets").Range("B2:B501") = Sheets("OneOfYourSheets").Range("xyz2:xyz501")
    End If
End Sub

答案 1 :(得分:0)

这是INDEX / MATCH的教科书包。

F2中,输入以下公式:=INDEX(A:D,ROW(),MATCH(F$1,$A$1:$D$1,0)),其中ROW()为您提供行号,而MATCH为您提供列号。

enter image description here