Written by Allen Wyatt (last updated August 22, 2020)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365
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 Excel in Microsoft 365.
Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!
Do you need to know how many words are in a range of cells? Excel provides no intrinsic way to count the words, but you ...
Discover MoreWant a quick way to tell how may rows and columns you've selected? Here's what I do when I need to know that information.
Discover MoreWant to easily move information from one cell to another? A quick way to do it is to simply drag and drop using the mouse.
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 © 2023 Sharon Parq Associates, Inc.
Comments