Что я пытаюсь сделать
Найдите столбец, ячейка заголовка которого содержит уникальную строку. Другими словами, я знаю текст ячейки и знаю, что ячейка находится в строке 1, но не знаю, в каком столбце. ПРИМЕЧАНИЕ. Я хочу искать весь текст, а не только его часть. ПРИМЕЧАНИЕ 2. Текст может отличаться, поэтому я не могу жестко закодировать значение в своем коде. Скорее мне нужно использовать переменную, в которой хранится значение.
Проблема
Если в тексте заголовка нет возврата каретки, простой 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").Find("*" & headerText & "*").Column
- person BruceWayne   schedule 20.04.2016newCol
? Я поставил Test [alt-enter] Test и запустилnewCol = Range("1:1").Find("Test").Column
и все заработало. - person BruceWayne   schedule 20.04.2016Trim
иCLEAN
Функции??? - person Elbert Villarreal   schedule 20.04.2016Range("1:1").Find(What:=headerText, LookAt:=xlPart).Column
- person LocEngineer   schedule 20.04.2016Incomplete Email
илиIncomplete Email (more text)
? - person LocEngineer   schedule 20.04.2016Find(What:="Incomplete Email" & Chr(10) & "(more text)")
- person LocEngineer   schedule 20.04.2016