过滤时复制注释(Microsoft Excel)
Vinod经常使用Excel的高级筛选工具将已筛选的数据从一个位置复制到另一个位置。在某些情况下,他不仅要复制单元格内容,还要复制满足过滤条件的单元格的单元格注释。他不是在寻找一种基于注释进行过滤的方法,而只是在使用Excel的高级过滤功能时仅将注释与单元格内容一起复制。
据我们所知,没有办法使用高级过滤来复制评论。仅复制单元格内容。但是,可以通过两步过程轻松复制注释。
首先,使用高级过滤来过滤数据,但要确保就地进行过滤;不要指定您要将信息复制到其他位置。您最终得到一个过滤列表,仅显示符合条件的单元格。接下来,选择过滤返回的单元格。然后,应确保Excel知道您只希望选择可见的单元格:
。按F5以显示“转到”对话框。
。单击“特殊”以显示“转到特殊”对话框。 (请参见图1。)
。确保选中“仅可见单元”选项。
。单击确定。
选中可见的单元格(未选中那些被筛选隐藏的单元格),您就可以准备第二步:使用常规编辑技术将单元格复制到另一个位置。结果是注释和单元格内容一起被复制。
如果您执行此任务相当多,甚至使您无法完成这两个步骤,则可以自动化该任务。以下宏将在适当位置应用高级过滤器,将可见的单元格复制到剪贴板,然后将它们(及其注释)粘贴到新的工作簿中:
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
该宏假定您设置了两个命名范围:一个用于要过滤的数据(数据库),另一个用于过滤条件(标准)。运行宏,筛选后的注释信息最终显示在Sheet1上。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(3169)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: