VBA Excel:如何执行一个列中的每个单元格的function,并循环所有工作簿?

以下是我到目前为止:

Sub TrimColumnD() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets Dim c As Range For Each c In ActiveSheet.UsedRange.Columns("D").Cells c.Value = WorksheetFunction.Trim(c.Value) Next c Next ws End Sub 

修剪function只适用于第一个工作表中的单元格,但就是这样。 有什么build议么?

提前致谢

你需要改变这一行:

 For Each c In ActiveSheet.UsedRange.Columns("D").Cells 

进入这一个:

 For Each c In ws.UsedRange.Columns("D").Cells 

在你的代码中,内部循环引用activesheet,而它应该引用ws variable表示表单。