Я пытаюсь очистить и отформатировать некоторый набор данных, полученных из системы учета, и мне удалось создать код VBA для использования функций TRIM или CLEAN в определенных диапазонах столбцов.
Дело в том, что мне нужно сохранить пробелы в строках (может быть 2, 3 или более пробелов), но при этом удалить пробелы в начале / конце, а упомянутые функции уменьшают внутренние пробелы до 1. Это не работает для меня, так как данные используются в качестве ключа для сопоставления другой информации на дальнейших этапах процесса. Имейте в виду, что начальные / конечные пробелы могут быть результатом нажатия клавиши пробела, любого другого символа, который отображается как пробел или даже содержит разрывы строк, поэтому снова я хочу удалить все эти, кроме внутренних пробелов. Строки могут состоять из буквенно-цифровых символов.
Я использую это в Private Sub (код выполняется с помощью нажатия на кнопку, размещенную на листе).
Dim rng1a As Range
Dim Area1a As Range
Set rng1a = Range("F2:F35001")
For Each Area1a In rng1a.Areas
Area1a.NumberFormat = "@"
Area1a.Value = Evaluate("IF(ROW(" & Area1a.Address & "),CLEAN(TRIM(" & Area1a.Address & ")))")
Next Area1a
Пример (в диапазоне F2: F35001):
Original: Sample Text for Review. *(there are blanks after the string)
Result:Sample Text for Review.
Desired:Sample Text for Review.
Я провел некоторое исследование в течение нескольких недель и не смог найти решение, которое оставит внутренние пробелы «как есть» и позволит избежать как можно большего количества дублирующих вопросов на форуме. Заранее спасибо за помощь.