Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Copying Comments when Filtering.
by Allen Wyatt
(last updated July 3, 2020)
Vinod frequently uses Excel's advanced filtering tools to copy filtered data from one location to another. In some instances he would like to copy not only the cell contents but also the cell comments of the cells that meet the filtering criteria. He's not looking for a way to filter based on comments, but only to copy comments along with the cell contents when using the advanced filtering capabilities of Excel.
As far as we can tell, there is no way to copy comments using advanced filtering; only the cell contents are copied. However, it is possible to easily copy the comments using a two-step process.
First, use advanced filtering to filter your data, but make sure you do the filtering in-place; don't specify that you want the information copied to a different location. You end up with a filtered list, showing only the cells that meet your criteria. Next, select the cells returned by the filtering. You should then make sure that Excel knows you only want the visible cells selected:
Figure 1. The Go To Special dialog box.
With the visible cells selected (those hidden by the filtering are not selected), you are ready for the second step: Copy the cells to another location using normal editing techniques. The result is that the comments are copied right along with the cell contents.
If you perform this task quite a bit and it even bugs you to do the two steps, you could automate the task. The following macro will apply an advanced filter in-place, copy the visible cells to the Clipboard, and then paste them (and their comments) into a new workbook:
Sub AdvancedFilter_AndCopyComments() With Range("Database") ' filter the data range .AdvancedFilter Action:=xlFilterInPlace, _ CriteriaRange:=Range("Criteria"), Unique:=False ' copy visible cells only .SpecialCells(xlCellTypeVisible).Copy End With ' goto to another worksheet Sheets("Sheet1").Select ' and paste the copied data With Range("A1") .PasteSpecial xlPasteColumnWidths .PasteSpecial xlPasteAll End With Application.CutCopyMode = False End Sub
The macro assumes you have two named ranges set up: one for the data to be filtered (Database) and the other for the filtering criteria (Criteria). Run the macro, and the filtered, commented information ends up on Sheet1.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3169) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Copying Comments when Filtering.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
The advanced filtering capabilities of Excel allow you to easily perform comparisons and calculations while doing the ...Discover More
When working with large amounts of data, you may have a need to extract just the information that meets the criteria you ...Discover More
Many people know how to use AutoFilter, but there are times when you need some more filtering muscle. Here's how you can ...Discover More
Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.