繁体   English   中英

Excel基于一个列的值将整个行从一张纸复制到另一张纸

[英]Excel Copy whole row from a sheet to another sheet based on one column value

我需要从工作表中复制整行并粘贴到具有相同标题的另一工作表中,因为特定列值等于89581。但是我的VBA抛出424错误。请帮忙。

Sub CopyData()
Dim c As Range
Dim Row As Long
Dim sheetUse As Worksheet
Dim sheetCopy As Worksheet
Set sheetUse = Sheets("Data1").Select
Set sheetCopy = Sheets("Data2").Select
Row = 3 'Assume same  header in sheet2 as in sheet1
For Each c In sheetUse.Range("O3",  Sheet1.Range("O65536").End(xlUp))       
    If c = 89581 Then

         'copy this row to sheet2
        Row = Row + 1
        c.EntireRow.Copy sheetCopy.Cells(Row, 1)

    End If

Next c

Application.CutCopyMode = False
End Sub

在这里,建立参考进行复制,然后一并复制和粘贴。

Sub CopyToOtherSheet()
Dim sheetUse As Worksheet, sheetCopy As Worksheet, i As Long, CopyRange As String
Set sheetUse = Sheets("Data1")
Set sheetCopy = Sheets("Data2")
For i = 3 To sheetUse.Cells(Rows.Count, 15).End(xlUp).Row
    If sheetUse.Cells(i, 15) = 89581 Then CopyRange = CopyRange & "," & i & ":" & i
Next i
sheetUse.Range(Right(CopyRange, Len(CopyRange) - 1)).Copy
sheetCopy.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteAll 'Change to values or formats or whatever you want
Application.CutCopyMode = False
End Sub

假设Data1是其中包含数据的工作表,而Data2是要复制到其中的工作表。

暂无
暂无

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

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