我想通过使用“列名”从一个 Excel 工作表复制数据,然后使用 VBA 将该数据粘贴到另一个具有相同列名的工作表中。我正在使用 Excel 2016。
我不想在复制数据时使用列字母作为参考。我想使用列名,因为我的工作表不断变化。
此函数将您在其中搜索列名的工作表和您正在搜索的列名作为参数。如果输入无效名称,它将返回零:
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”。
关于问题的复制粘贴部分,只需记录一个宏并从那里开始。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句