如何使用列名称使用vba代码从Excel中的一个工作表复制数据并将其数据粘贴到具有相同列名称的另一个工作表

时间:2018-05-26 10:33:40

标签: vba excel-vba excel

我想使用“列名”从一个Excel工作表复制数据,并使用VBA将该数据粘贴到具有相同列名的另一个工作表。我使用的是excel 2016版本。

我不想在复制数据时使用列字母作为参考,而是我想使用列名,因为我的工作表始终在不断变化

所以,我想通过名称找到该特定列并复制它的数据,然后使用VBA将该数据粘贴到具有相同列名的另一个工作表中。

请在上面帮助我,

提前致谢。

1 个答案:

答案 0 :(得分:0)

此功能将您在其中搜索列名称和您要搜索的列名称的工作表作为参数。如果输入无效名称,则返回零:

 Function FindColumnName(rng As Range, colName As String) As Long

    On Error Resume Next
    FindColumnName = rng.Find(What:=colName, _
        Lookat:=xlWhole, _
        LookIn:=xlValues, _
        SearchOrder:=xlByColumns, _
        MatchCase:=True).Column
End Function

例如,如果列名称为" Test"列G的第一行出现,调用这个函数

FindColumnName(ActiveSheet.Rows(1), "Test") ' change sheet name as required

它将返回" 7"。

关于问题的复制粘贴部分,只需录制宏并从那里开始。