我正在尝试将多列从一张纸复制到另一张纸。其中一些具有相同的标题,如果它们的标题稍有不同(在一张纸中,标题是“ address”,而在我要粘贴的纸中,则是“ address line”)。我不想基于列的编号或列的字母来定义粘贴范围,而是基于列的标题来定义。 原因是列的顺序每周都在更改,标题的名称也在每周更改,所以我能够找到的最简单的方法是使用vba代码在两张工作表中定义所有标题,并且在更改顺序或名称时可以修改代码。 我能够在网上找到以下代码并将其适应我的需要(感谢大家分享您的知识)。
Sub Order_columns()
Sheets("Original Data").Select
With Sheets("original data").Rows(1)
Set t = .Find("address", LookAt:=xlWhole)
If Not t Is Nothing Then
Columns(t.Column).EntireColumn.copy _
Destination:=Sheets("Contract data").Range("f1")---- here the column name is Address line
With Sheets("original data").Rows(1)
Set t = .Find("country", LookAt:=xlWhole)
If Not t Is Nothing Then
Columns(t.Column).EntireColumn.copy _
Destination:=Sheets("Contract data").Range("j1") 'here the column name is Country and state
end sub
该代码非常适合查找标题为“ address”的列,将其复制并粘贴到列F中。我只希望它粘贴到标题为“ Address”行的地方。