Gerry的工作簿包含22个工作表。每个工作表约有20条评论。一些评论提到了公司部门。

他想进行大量搜索并替换注释以找到每个引用(例如,“ ABC部门”),并用其他内容替换(例如,“ XYZ附属公司”)。

如果不使用宏,则无法执行此操作。 Excel中常规的“查找和替换”功能不允许您在注释中查找文本,但可以使用宏命令。以下是执行替换的简单宏:

Sub ReplaceComments()

Dim cmt As Comment     Dim wks As Worksheet     Dim sFind As String     Dim sReplace As String     Dim sCmt As String

sFind = "ABC Division"

sReplace = "XYZ subidiary"



For Each wks In ActiveWorkbook.Worksheets         For Each cmt In wks.Comments             sCmt = cmt.Text             If InStr(sCmt, sFind) <> 0 Then                 sCmt = Application.WorksheetFunction. _                   Substitute(sCmt, sFind, sReplace)

cmt.Text Text:=sCmt             End If         Next     Next     Set wks = Nothing     Set cmt = Nothing End Sub

这里的关键行是那些设置sFind和sReplace变量的行。

您应该设置它们以分别反映您要搜索的内容和您要替换的内容。宏逐步浏览当前工作簿的每个工作表中的每个注释,并在它们所在的任何位置进行更改。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3534)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: