复制并粘贴整个行

function:我正在开发一个小项目,我需要在列中search单词“未知”(如果包含该单词),然后将整行复制到新工作表中。

问题:我得到“对象不支持此属性方法”。 错误。 我相信这是在复制声明(不是目的地)的某处。 这很简单,但我似乎无法解决这个问题。

Sub CheckRows() Dim b As Range Dim SrchRng As Range Set b = ActiveWorkbook.Sheets("Sheet 2").Range("A1") Set SrchRng = ActiveWorkbook.Sheets("Sheet 1").Range("G1") Do While SrchRng.Value <> "" If SrchRng.Value = "Unknown" Then Worksheets("Sheet 1").SrchRng.EntireRow.Copy _ Destination:=Worksheets("Sheet 2").b Set b = b.Offset(1, 0) Set SrchRng = SrchRng.Offset(1, 0) Else: Set SrchRng = SrchRng.Offset(1, 0) End If Loop End Sub 

尝试Range.EntireRow.Value属性

 b.EntireRow.Value = SrchRng.EntireRow.Value 

 Do While SrchRng.Value <> "" If SrchRng.Value = "Unknown" Then b.EntireRow.Value = SrchRng.EntireRow.Value Set b = b.Offset(1, 0) Set SrchRng = SrchRng.Offset(1, 0) Else: Set SrchRng = SrchRng.Offset(1, 0) End If Loop 

考虑以下情况:

启动1启动2

Sheet 1有一个数据块,在列G中有“未知”条目,工作Sheet 2是空的。

通过将数据块定义为Range对象并应用标识“Unknown”条目的.Autofilter ,我们可以简单地将筛选结果复制到Sheeet 2 。 以下严重评论的脚本就是这样做的:

 Option Explicit Sub CheckRowsWithAutofilter() Dim DataBlock As Range, Dest As Range Dim LastRow As Long, LastCol As Long Dim SheetOne As Worksheet, SheetTwo As Worksheet 'set references up-front Set SheetOne = ThisWorkbook.Worksheets("Sheet 1") Set SheetTwo = ThisWorkbook.Worksheets("Sheet 2") Set Dest = SheetTwo.Cells(1, 1) '<~ this is where we'll put the filtered data 'identify the "data block" range, which is where 'the rectangle of information that we'll apply '.autofilter to With SheetOne LastRow = .Range("G" & .Rows.Count).End(xlUp).Row LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column Set DataBlock = .Range(.Cells(1, 1), .Cells(LastRow, LastCol)) End With 'apply the autofilter to column G (ie column 7) With DataBlock .AutoFilter Field:=7, Criteria1:="=*Unknown*" 'copy the still-visible cells to sheet 2 .SpecialCells(xlCellTypeVisible).Copy Destination:=Dest End With 'turn off the autofilter With SheetOne .AutoFilterMode = False If .FilterMode = True Then .ShowAllData End With End Sub 

以下是Sheet 2的输出:

结束