У Терри есть огромный список имен на листе Excel. Некоторые из них — это просто имена, но некоторые имеют слова в скобках после них. К сожалению, некоторые слова в скобках не имеют закрывающей скобки, и Терри приходится вручную добавлять закрывающую скобку. Он задается вопросом, есть ли способ добавить скобку, используя поиск и замену по шаблону.

Короткий ответ заключается в том, что вы не можете сделать это с помощью поиска и замены, ни подстановки, ни обычного. Однако вы можете использовать формулу для добавления недостающих скобок. Ниже приводится лишь один пример типа формулы, которую вы можете использовать:

=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), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (123) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Adding_a_Missing_Closing_Bracket [Добавление отсутствующей закрывающей скобки].