代码如下。其中ActiveSheet代表当前的工作表,也可以使用WorkSheets(1)等指定其他工作表。特别注意UsedRange属性,如果直接使用ActiveSheet.Cells,在Excel 2007中返回的单元格数量是千万级的,此时运行程序基本等于死循环。另外Excel 2007默认不显示Visual Basic菜单,需要在Excel 选项里勾选“在功能区显示开发工具”。
' 删除当前工作表中所有单元格中的字符串首尾的空格
Sub TrimAllCell()
For Each cell In ActiveSheet.UsedRange.Cells
cell.Value = Trim(cell.Value)
Next cell
MsgBox("完成")
End Sub