Sub CopyCol()
Dim HeaderRange As Range
Dim Query As String
Set HeaderRange = Worksheets("Sheet1").Range("A1:C1")
Query = "Name"
For Each hcell In HeaderRange ' Loop through each header cell
If hcell.Value = Query Then ' If it matches your query then copy entire column
Range(hcell.Address).EntireColumn.Copy _
Destination:=Sheets("Sheet3").Range("A1")
End If
Next hcell
End Sub
1 回答
我并不完全确定你究竟想要做什么,因为你的范围代码(“P”) . 值没有多大意义,因为你只定义了一半的单元格范围 . 但我最好的猜测是你试图根据表格的 Headers 复制整个列(如你所说,它是在A1,B1和C1中分配的)?
如果是这种情况,则此快速宏循环遍历HeaderRange中定义的每个标头,如果它与您的查询匹配,则将其复制到sheet3中的单元格A1 .
希望这对你来说是一个很好的开球点 .