代码不会转到下一张表,只更改活动表

时间:2017-09-16 13:26:39

标签: excel vba excel-vba

我目前正在编写一个简单的宏(见下文)。我打算让宏更改我的工作簿中的所有工作表。但是,它只会更改我所在的活动工作表中的单元格,我必须手动移动到下一个工作表并运行宏来更改当前的单元格,但它很繁琐,特别是当我有大约125个工作表要更新时。

Sub worksheetloop()

Dim sh As Worksheet

With ThisWorkbook    
    For Each sh In ActiveWorkbook.Worksheets    
        Range("$F$5") = "toothwidth" ' Key contact
        Range("$F$8") = "x,y,z" ' Core team
        Range("$J$5") = "bleh" 'date
        Range("$L$5") = "9/12/" 'Updated
        Range("$M$5") = "A" ' Revision Date                              
    Next sh    
End With

End Sub

1 个答案:

答案 0 :(得分:3)

您需要在Range循环中使用sh工作表对象限定For Each sh In ActiveWorkbook.Worksheets。{/ p>

尝试以下代码:

Dim sh As Worksheet

For Each sh In ThisWorkbook.Worksheets
    With sh
        .Range("$F$5") = "toothwidth" ' Key contact
        .Range("$F$8") = "x,y,z" ' Core team
        .Range("$J$5") = "bleh" 'date
        .Range("$L$5") = "9/12/" 'Updated
        .Range("$M$5") = "A" ' Revision Date\
    End With
Next sh