1

У меня есть список из 23000 URL-адресов на листе Excel, но, похоже, в них есть лишние пробелы, поэтому ссылки недействительны.

Я пытался найти и заменить, и Excel не признает, что в камере есть дополнительное место.

Это пример того, как я вставил URL в ячейку.

/searchresult.asp/store/store/tskay/08REWA248

но это на самом деле то, что находится в клетке:

/searchresult.asp/store/store/
            tskay/08REWA248

и URL распространяется на две строки.

Я могу убедиться, что текст не обернут в ячейку, и кажется, что все это объединено в одну строку, но если я в любом случае отредактирую ячейку, она вернется к разделению на две ячейки.

Я попытался вставить в блокнот, и я получаю следующий URL:

/searchresult.asp/
            store/store/tskay/08REWA248FE/

С цитатами и пробелами, когда я нахожу и заменяю их и вставляю чистый URL обратно в Excel, он возвращается прямо к старому URL с пробелами.

Я также пытался преобразовать текст в столбцы, чтобы разбить URL-адрес, а затем объединить его обратно, но каждый раз он возвращается прямо к старому URL-адресу с дополнительными пробелами.

Если я щелкаю в ячейке и удаляю пробел, это нормально, но с 23000 URL я не могу сделать это для них всех, и я не могу найти что-нибудь в Интернете, чтобы помочь!

Как это исправить?

1 ответ1

0

Ваш текст включает в себя возврат каретки или разрывы строк. Вы можете удалить их за один раз с помощью простой процедуры VBA.

Обязательно сохраните свой лист, прежде чем следовать инструкциям ниже. (Вам понадобится резервная копия на случай, если это сделает что-то, чего вы не ожидаете, и покалечит ваши данные.)

Сначала выберите весь столбец URL. Затем откройте редактор VBA, нажав Alt+F11, и перейдите к Insert >> Module . Вставьте следующий код в открытое текстовое поле.

Sub FixURL()
Dim r As Range, URLs() As Variant
Dim rgx As Object
Set r = Selection
'Load contents of selection into an array
URLs = r.Value
'Set up a regular expression object for finding and replacing the line breaks and spaces
Set rgx = CreateObject("vbscript.regexp")
rgx.Global = True
rgx.Pattern = "\r?\n[ \t]+"
'Remove problem text for each URL
For i = LBound(URLs, 1) To UBound(URLs, 1)
    URLs(i, 1) = rgx.Replace(URLs(i, 1), "")
Next i
'Print cleaned up URLs back to sheet
r.Value = URLs
End Sub

Нажмите F5, чтобы выполнить код. Это должно удалить разрывы строк и лишние пробелы для всех ваших URL.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .