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.
Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!
Each cell in a worksheet can hold quite a bit of information. If you want to see the information in the cell without the ...
Discover MoreNeed to enter information into a bunch of cells that aren't anywhere near each other in the worksheet? Here's a handy way ...
Discover MoreWhen entering information in a worksheet, it is common to also note a date or time corresponding to the entry. There are ...
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