我在 Excel 表中列出了 23000 个 URL,但这些 URL 似乎有多余的空格,因此使这些 URL 无效。
我尝试了查找和替换,但 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,我不可能对所有 URL 都执行此操作,而且我在网上也找不到任何帮助!
我该如何解决?
答案1
您的文本包含一些回车符或换行符。您可以使用简单的 VBA 程序一次性删除它们。
在执行以下步骤之前,请务必保存您的工作表。(您需要备份,以防发生意外情况并破坏您的数据。)
首先,选择整个 URL 列。然后按Alt+打开 VBA 编辑器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 的换行符和多余的空格。