2013-06-21 46 views
9

這是我到目前爲止有:VBA Excel:如何爲列中的每個單元格執行一個函數並遍歷所有工作簿?

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 

修正功能僅適用於在第一個工作表的單元格,但僅此而已。有什麼建議麼?

在此先感謝

+2

確保您使用正確的縮進清晰地格式化您的代碼。在sub的頂部一起聲明變量也是一個好主意。 –

回答

13

你需要改變這一行:

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

到這一個:

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

在你的代碼的內部循環是指activesheet而它應該是指ws variable代表單。

相關問題