Written by Allen Wyatt (last updated August 2, 2024)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021
Marian wonders if there is a way to copy an entire row from one worksheet to another worksheet based on the occurrence of a specific text value ("yes") in column E of the row. Vlookup doesn't seem to work for this type of evaluation.
If you only need to do this type of task sporadically, then you can simply use the filtering capabilities of Excel. Turn on filter and filter your data so it only shows rows that have "yes" in column E. Copy the visible rows and paste them into whatever worksheet you want.
If you have to do the task more often, you could create a macro to make the copying a snap. The following macro examines the first 1,000 rows of Sheet1 and copies to Sheet2 any rows containing "yes" in column E.
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
Note that the macro will overwrite any information already on Sheet2. It also is not "dynamic," meaning that if the values in column E change and you want the rows in Sheet2 to reflect those changes, then the macro won't help.
Additional information about automatically copying information from one worksheet to another can be found on this website:
https://www.mrexcel.com/forum/excel-questions/602635- automatically-move-entire-rows-one-worksheet-into- another-worksheet-same-workbook.html
Even though the URL is shown on three lines here, it is all a single URL. You'll want to make sure you get it all into your browser.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (13399) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and 2021.
Best-Selling VBA Tutorial for Beginners Take your Excel knowledge to the next level. With a little background in VBA programming, you can go well beyond basic spreadsheets and functions. Use macros to reduce errors, save time, and integrate with other Microsoft applications. Fully updated for the latest version of Office 365. Check out Microsoft 365 Excel VBA Programming For Dummies today!
When importing Excel information into Access, you need to be concerned with the condition of the data. Here's how to make ...
Discover MoreImporting data into Excel that was generated in other programs can have some interesting side effects. For instance, you ...
Discover MorePaste information in a worksheet, and you may end up with Excel placing it into lots of different cells. If you want it ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2021-09-16 17:22:09
Adam
Hello, is there a way to do exactly this but with a text string? Help very much appreciated
2021-05-21 12:10:33
John
This worked great for me. Anyway to add more source worksheets?
2020-11-13 17:02:40
@ tania
In Allen Wyatt's macro, replace
If c = "yes" Then
with
If c = "yes" Or c="no" or c="maybe" Then
Alan Elston
2020-11-12 16:59:23
tania
What if I have multiple values to search for eg "yes" no" "maybe"
2020-08-24 12:44:16
Gregg
Great tip! The link to Mr. Excel's forum doesn't seem to be working. Hoping you can re-post. Thanks!
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments