Сравнение строк в макросе — не редкость. Например, вам может потребоваться сравнить введенное пользователем значение с заранее заданным значением. Если вы делаете это напрямую, вы должны учитывать, что пользователь, возможно, набрал свою (или ее) строку не так, как вы ожидали.

Особенно досадно то, что пользователь мог смешать верхний и нижний регистр в своем ответе.

Самый быстрый и простой способ обойти это — использовать функцию UCase () или LCase () на их входных данных, прежде чем проводить сравнение. Например, предположим, что вы запрашиваете у пользователя слово «да», чтобы убедиться, что он хочет выполнить действие. Следующий код проверит ввод независимо от того, как его ввел пользователь.

If LCase(sUserIn) = "yes" then bDoIt = True

Хитрость заключается в том, чтобы убедиться, что ваша тестовая строка полностью или полностью написана в верхнем или нижнем регистре, а затем преобразовать ввод пользователя в тот же регистр.

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

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

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

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

Этот совет (11704) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Comparing_Strings [Сравнение строк].