То, что я пытаюсь сделать
Найдите столбец, чья ячейка заголовка содержит уникальную строку. Другими словами, я знаю текст ячейки, и я знаю, что ячейка находится в строке 1, но я не знаю, какой столбец. ПРИМЕЧАНИЕ. Я хочу найти текст всего текста, а не только его часть. ПРИМЕЧАНИЕ2: Текст может меняться, поэтому я не могу задать код в свой код. Скорее мне нужно использовать переменную , в которой значение сохраняется.Range.Find() текст с возвратом каретки Excel VBA
Проблема
Когда нет возврата каретки в тексте заголовка, простой newCol = Range("1:1").Find(headerText).Column
работает отлично. Однако, если есть возврат каретки, это не сработает. Он выдает ошибку «Объектная переменная или с переменной блока не задана». Вот моя точная строка заголовка:
Incomplete Email
(more text)
То, что я уже пытался
Я также попытался с помощью WorksheetFunction.Match(headerText, Range("1:1"), 0)
, но получил тот же самый вопрос.
Дополнительные замечания и требования
Это является частью надстройки, так что я не хочу, чтобы изменить что-либо в Excel лист пользователя, если я не должен (т.е. я не хотите удалить возврат каретки).
Технически, я делаю это в функции:
Public Function getColumn(headerText As Variant)
getColumn = Range("1:1").Find(headerText).Column
End Function
Спасибо!
Что делать, если вы попробуете 'Range (" 1: 1 "). Найти (" * "и headerText &" * "). Столбец – BruceWayne
Не повезло. Та же проблема –
Как вы объявили 'newCol'? Я положил «Test [alt-enter] Test» и запустил 'newCol = Range (« 1: 1 »). Найти (« Тест »). Столбец', и он сработал. – BruceWayne