Marian想知道是否存在一种方法,可以根据行E列中特定文本值(“是”)的出现将整个行从一个工作表复制到另一个工作表。 Vlookup似乎不适用于这种类型的评估。

如果只需要偶尔执行此类型的任务,则只需使用Excel的筛选功能。打开过滤器并过滤数据,使其仅显示E列中具有“是”的行。复制可见行并将其粘贴到所需的任何工作表中。

如果您必须更频繁地执行任务,则可以创建一个宏来进行复制。以下宏检查Sheet1的前1,000行,并将E列中包含“ yes”的任何行复制到Sheet2。

Sub CopyYes()

Dim c As Range     Dim j As Integer     Dim Source As Worksheet     Dim Target As Worksheet

' Change worksheet designations as needed     Set Source = ActiveWorkbook.Worksheets("Sheet1")

Set Target = ActiveWorkbook.Worksheets("Sheet2")



J = 1     ' Start copying to row 1 in target sheet     For Each c In Source.Range("E1:E1000")   ' Do 1000 rows         If c = "yes" Then            Source.Rows(c.Row).Copy Target.Rows(j)

j = j + 1         End If     Next c End Sub

请注意,该宏将覆盖Sheet2中已经存在的所有信息。它也不是“动态的”,这意味着,如果E列中的值发生更改,并且您希望Sheet2中的行反映这些更改,则宏将无济于事。

可在以下网站上找到有关自动将信息从一个工作表复制到另一个工作表的其他信息:

https://www.mrexcel.com/forum/excel-questions/602635- automatically-move-entire-rows-one-worksheet-into- another-worksheet-same-workbook.html

即使该URL在此处显示为三行,也都是单个URL。您需要确保将所有内容都放入浏览器中。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本提示(13399)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。