Я столкнулся с этой неожиданной проблемой, и через много часов мне удалось найти решение, поэтому я публикую это, чтобы сэкономить время других людей.
Я скопировал некоторые данные с веб-сайта на листе и случайно заметил, что некоторые ячейки, кроме их ожидаемого значения, также содержат пробел. Я хотел удалить эти пробелы из-за проблем с моим кодом. Я заметил определенную ячейку с этим пробелом и попытался:
Worksheets(2).Range("D17").Value = Trim(Worksheets(2).Range("D17").Value)
но место все еще было там. Тогда я попробовал:
Worksheets(2).Range("D17").Value = WorksheetFunction.Trim(Worksheets(2).Range("D17").Value)
Все еще не повезло. Replace
Функция удаляет не только начальные и конечные символы, но также пробелы внутри строки:
Worksheets(2).Range("D17").Value = Replace(Worksheets(2).Range("D17").Value," ","")
В этом случае некоторые ячейки содержали два слова, поэтому это было невозможно.
Я знал, что могу проверить последний символ на наличие пробелов и удалить его для каждой отдельной ячейки, но это не выглядело как элегантное решение, и в основном оставался главный вопрос: почему Trim
функции не работают?