我试图仅为特定命名的工作表更改一系列单元格中的值。
我正在编辑的工作簿大约有95张,我只想用期间实际信息(名为P1W1,P1W2等,最多为P12W5)更改工作表。
当我执行下面的操作时,它只会改变第一张纸,然后退出宏。
非常感谢任何帮助
Option Explicit
Public Sub periodclear()
Dim ws As Worksheet
Dim r As Range
On Error Resume Next
Set r = Range("c10:i30")
For Each ws In Worksheets
If ws.Name Like ("P#W#") Or ws.Name Like ("P##W#") Then
r.Value = ""
End If
Next ws
End Sub
答案 0 :(得分:3)
试试这个。您的r
仅以一张纸的形式定义,因此需要将其带入循环内。
Public Sub periodclear()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name Like ("P#W#") Or ws.Name Like ("P##W#") Then
ws.Range("c10:i30").ClearContents
End If
Next ws
End Sub