繁体   English   中英

寻找一个模块以根据标题名称复制和粘贴数据

[英]Looking for a mod to Copy and paste data based on Header name

我发现了Alex P的代码,可以根据标题值将列数据从一张纸复制并粘贴到另一张纸。 我还找到了将粘贴偏移到起始单元格和行的方法。

现在,我需要进一步完善。 粘贴的数据会粘贴到我想要的位置,但是我只需要粘贴值,因为例程会全部粘贴并破坏所有格式。 我也想用它从第二本打开的工作簿中复制和粘贴值,但是可以稍后完成。 这是我正在使用的代码。 在这篇文章中: 基于column将数据从一个工作表复制到另一个工作表

Sub CopyHeaders()
Dim header As Range, headers As Range
Set headers = Worksheets("ws1").Range("A1:Z1")

For Each header In headers
    If GetHeaderColumn(header.Value) > 0 Then
        Range(header.Offset(1, 0), header.End(xlDown)).Copy Destination:=Worksheets("ws2").Cells(2, GetHeaderColumn(header.Value))
    End If
Next
End Sub

Function GetHeaderColumn(header As String) As Integer
Dim headers As Range
Set headers = Worksheets("ws2").Range("A1:Z1")
GetHeaderColumn = IIf(IsNumeric(Application.Match(header, headers, 0)), Application.Match(header, headers, 0), 0)
End Function

任何帮助,将不胜感激。

您可以使用xlPasteValues

由此:

Range(header.Offset(1, 0), header.End(xlDown)).Copy Destination:=Worksheets("ws2").Cells(2, GetHeaderColumn(header.Value))

对此:

Range(header.Offset(1, 0), header.End(xlDown)).Copy
Worksheets("ws2").Cells(2, GetHeaderColumn(header.Value)).PasteSpecial xlPasteValues

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM