如何将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 CLEAN
function:
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。
希望这可以帮助 !