Terry在Excel工作表中有大量的名称。有些只是名称,有些则在其后的括号中。不幸的是,方括号中的某些词没有右括号,而Terry必须手动添加右括号。他想知道是否可以使用通配符搜索和替换来添加括号。

简短的答案是,您不能使用通配符或常规搜索和替换来做到这一点。但是,您可以使用公式添加任何缺少的括号。以下只是您可以使用的公式类型的一个示例:

=IF(AND(NOT(ISERROR(SEARCH("[",A1))),NOT(RIGHT(A1,1)="]")),A1&"]",A1)

诀窍是检查单元格(在此例中为A1)是否在左括号中,如果有,请检查右括号。如果找不到右括号,则将其附加到单元格的内容中。

这是相同公式主题的另一个变体:

=IF(ISERROR(FIND("[",A1)),A1,IF(ISERROR(FIND("]",A1)),A1&"]",A1))

如果必须定期检查大量的单元格是否缺少括号,则可能需要创建一个宏,该宏将检查一系列单元格,并在需要时添加一个右括号。这是一个如何表示这样的宏的示例:

Sub Close_Bracket()

Dim c As Range     Const csLBrk As String = "["

Const csRBrk As String = "]"



On Error Resume Next     For Each c In Selection.Cells         If InStr(1, c.Value, csLBrk) > 0 And _           InStr(1, c.Value, csRBrk) = 0 Then             c.Value = c.Value & csRBrk         End If     Next c End Sub

若要使用宏,只需选择要影响的单元格范围,然后运行它。如果需要,对单元进行原位检查和修改。

注意:

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

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

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