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

Невозможно сделать это с помощью функций «Найти и заменить» в Excel.

Причина? Как выразился один из подписчиков ExcelTips, «Excel очень плохо обрабатывает форматированный текст в ячейках». Свидетельством этого является тот факт, что вы не можете искать смешанное форматирование в ячейке или заменять смешанным форматированием.

Обратите внимание, что я сказал «смешанное форматирование», что и хочет Эван — «H»

и «O» используют форматирование, отличное от «2». Если бы Эван хотел изменить все содержимое ячейки на обычный текст или подписаться, то вы могли бы использовать обычный инструмент «Найти и заменить». Однако для смешанного форматирования это не сработает.

Это означает, что лучший подход — использовать макрос для поиска и замены. Есть несколько способов приблизиться к этому; следующее только одно.

Sub SubscriptNumbers()

Dim c As Range     Dim sWord As String     Dim sChar As String     Dim x As Long

For Each c In Selection         sWord = c.Value         For x = 1 To Len(sWord)

sChar = Mid(sWord, x, 1)

If sChar >= "0" And sChar <= "9" Then                 c.Characters(Start:=x, Length:=1).Font _                   .Subscript = True             End If         Next x     Next c     Set c = Nothing End Sub

Чтобы использовать макрос, выберите ячейки, которые хотите изменить, и запустите его.

Он проходит через каждую выделенную ячейку, а затем проверяет ее содержимое. Если в содержимом есть какие-либо цифры, то эти цифры форматируются как нижний индекс.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

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

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

Этот совет (13362) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.