查找具有特定标题的数据,并将整列复制到另一张纸上

依云

我想创建一个VBA,通过“摘要”工作表中的特定列排列将数据复制到“摘要”中,然后粘贴到“摘要”工作表中。

例如,如果工作表“摘要”列A为COUNTER CODE,则从工作表“ RAW”中复制数据位于B2-B5中,然后将其粘贴到我的工作表“摘要” A2-A5中

我试图使用下面的VBA,它可以工作。但是,如果“ RAW”中的列数据不同,我将无法获得正确的数据。

Sub TRANSFERDATA()

Dim LASTROW As Long, EROW As Long
LASTROW = Worksheets("RAW").Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To LASTROW

Worksheets("RAW").Cells(i, 1).Copy

EROW = Worksheets("summary").Cells(Rows.Count, 1).End(xlUp).Row

Worksheets("RAW").Paste Destination:=Worksheets("summary").Cells(EROW + 1, 2)

Worksheets("RAW").Cells(i, 2).Copy

Worksheets("RAW").Paste Destination:=Worksheets("summary").Cells(EROW + 1, 1)

Worksheets("RAW").Cells(i, 3).Copy

Worksheets("RAW").Paste Destination:=Worksheets("summary").Cells(EROW + 1, 4)

Worksheets("RAW").Cells(i, 4).Copy

Worksheets("RAW").Paste Destination:=Worksheets("summary").Cells(EROW + 1, 3)
Next i

End Sub

谢谢!

概要

在此处输入图片说明

生的

在此处输入图片说明

范杜鲁

请测试下一个代码。您不必逐个复制单元格。在设计代码的方式中,它也适用于与“ RAW”工作表中的标题不相同的标头,但包含“ RAW”标头字符串:

Sub TestFindCopyInPlace()
   Dim shR As Worksheet, shSum As Worksheet, colHeadR As String
   Dim colHS As Range, lastCol As Long, lastRow As Long, i As Long

   Set shR = Worksheets("RAW")
   Set shSum = Worksheets("summary")
   lastCol = shR.Cells(1, Columns.count).End(xlToLeft).Column
   lastRow = shR.Range("A" & Rows.count).End(xlUp).Row
   For i = 1 To lastCol
        colHeadR = shR.Columns(i).Cells(1, 1).value
        Set colHS = shSum.Rows(1).Find(colHeadR)' find the cell with the header of the one being copied
        If Not colHS Is Nothing Then 'Find method will find a column containing colHeadR in its header string...
             shR.Range(shR.Cells(2, i), shR.Cells(lastRow, i)).Copy Destination:=colHS.Offset(1, 0)
        Else
             MsgBox "The column header """ & colHeadR & """ could not be found." & vbCrLf & _
               "Please check the spelling or whatever you think it is necessary..."
        End If
   Next i
End Sub

该代码应适用于您的“ RAW”工作表包含的尽可能多的列...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用VBA按照预定顺序将一张纸之间的值复制到另一张纸并将其粘贴到另一张纸上?

忽略公式时,仅将包含数据的行复制到另一张纸上的最后一个空行

根据下拉菜单中的选择将数据复制到另一张纸上

使用循环搜索数据表并将选定的行复制到另一张表

如何使用IF AND Macro将单元格复制到另一张纸上?

给定行实例,将整行复制到另一张纸上

搜索查找匹配项并将行范围复制到另一张表

我正在尝试将4个数据透视表的rowlabel一张一张地复制到另一张纸上

我想使用VBA将包含特定文本的特定行复制到另一张纸上

将范围复制到另一张纸上

将满足条件的特定行复制到另一张纸上

将单元格值从一张纸复制到另一张纸,并将其粘贴到具有特定值的单元格附近

如何有条件地将一行复制到另一张纸上?

使用VBA,将所有公式从一张纸复制到另一张纸上,而没有其他内容?

宏,需要很长时间才能比较数据并将其从一张纸复制到另一张纸

将1列经过过滤的数据复制到另一张纸上

将数据从一张纸复制到另一张纸的问题

寻找价值并将整行复制到另一张纸上

在特定行上搜索值,将整列复制到另一张纸上

错误的数据被复制到另一张纸上

从一张纸复制数据并将其粘贴到同一工作簿的另一张纸上

将单元格复制到另一张纸上,并自动填充复制的单元格10次

[Excel] [VBA]在另一张纸上查找值并将其复制为BG

将包含特定单词的单元格复制到另一张纸上的单元格

VBA - 将数据从一张纸复制到另一张纸

VBA Excel将行从一张工作表复制到另一张工作表中具有特定值的行

如何将标题复制和转置到另一张纸上?

如何将日期从一张 Excel 工作表复制到另一张具有特定格式的工作表?

处理数据/复制到另一张纸