Поиск и замена индексами (Microsoft Excel)
У Эвана есть рабочий лист, содержащий несколько обозначений химических соединений, таких как 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.