特里在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培训的来源。

本技巧(126)适用于Office 365中的Microsoft Excel 2007、2010、2013、2016、2019和Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: