|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 moonlit123 于 2020-1-9 08:28 编辑
哪有那么复杂。想提高效率就用数组,减少在原表上的重复多次单元格操作。全部数据处理靠数组在电脑内存中完成,
一次提取数据到数组,一次数组处理后的数据写入原表上。
Sub 循环Clean()
Dim i
' 获取活动单元格所在行列
m = ActiveCell.Row
n = ActiveCell.Column
' 当前选中单元格所在列的最后一个非空单元格
Z = Cells(Rows.Count, n).End(3).Row
' 选中活动单元格整列
arr = Range(Cells(1, n), Cells(Z, n)).Value '数据保存到数组中
For i = 1 To UBound(arr)
arr(i, 1) = Application.WorksheetFunction.Clean(arr(i, 1)) 'clean处理数据
Next i
Range(Cells(1, n), Cells(Z, n)).Value = arr '数据写回原单元格地址
End Sub
另外说到你网盘里vba的原代码
别用Cells(1, n).Address这种绝对地址,直接用cells(1,n)
=CLEAN($C$1) 公式里
$是绝对地址符号,就是下拉填充不会自动变地址的。把$删去就可以了。
|
|