如何将CLEAN()公式应用于整个Excel工作表?

我有一个近50栏和10,000行的Excel文件。 这些在一些单元格中包含不可打印的字符; 我想从工作表中的所有单元格中删除这些字符。

CLEAN()函数应用于每一列是很困难的。 有其他select吗?

我看不见它..如果你在单元格文本的末尾看到这个字符,那么你可以使用下面的代码find这个值

 debug.Print asc(right(range("D1").Value,1)) 

只需用下面的代码中的值replace110即可。

 Sub Sample() Dim ws As Worksheet '~~> Set this to the relevant worksheet Set ws = ThisWorkbook.Sheets("Sheet1") ws.Cells.Replace What:=Chr(110), Replacement:="", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End Sub 

这里是供您参考的ASCII表格。

要在前50列和10000行的每个单元格上应用excel CLEANfunction:

 Sub cleanSheet() Dim r As Range Application.ScreenUpdating = False For Each r In Range(Cells(1, 1), Cells(10000, 50)) r = WorksheetFunction.Clean(r) Next r Application.ScreenUpdating = True End Sub 

您可以简单地创build另一个工作表,然后在第一个单元格中input干净的公式=Clean('sheet1'!A1)并input。

现在拖动列和行。 你会得到你清理的数据在这张表。 您也可以以相同的方式使用修剪function。

希望这可以帮助 !