excel 清洁微调功能无法在过滤单元上准确工作

tzxcd3kk  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(106)

我一直在使用这个功能来清理和修剪从工作表中选择的数据,但当我过滤的范围,并适用于过滤单元格它复制和粘贴上述值,直到下来。
任何帮助都将不胜感激。
在应用函数之前:

应用函数后:

Sub CleanTrim()
  Application.ScreenUpdating = False
With Selection.SpecialCells(xlCellTypeVisible)
.NumberFormat = "@"
.Value = Application.Clean(Application.Trim(.Value))
  Application.ScreenUpdating = True
End With
End Sub
enyaitl3

enyaitl31#

您需要在Selection.SpecialCells(xlCellTypeVisible)中循环Areas,并依次对每个区域应用修剪-它无法在不连续的范围(如通常从SpecialCells获得的范围)上工作

Sub CleanTrim()
    Dim a As Range
    Application.ScreenUpdating = False
    For Each a In Selection.SpecialCells(xlCellTypeVisible).Areas
        a.NumberFormat = "@"
        a.Value = Application.Clean(Application.Trim(a.Value))
    Next a
    Application.ScreenUpdating = True
End Sub

相关问题