我目前正在使用一个宏,根据“A”列中是否有数据自动填充公式。宏工作正常,只在当前的选择表(即用户所在的表)上。
任何人都可以帮我转换为工作簿中所有工作表的工作吗?
公式如下:
Sub FillForms()
Dim WKS As Worksheet
For Each WKS In Worksheets
Select Case UCase(WKS.Name)
Case "Sheet1"
Range("J3:M3").AutoFill Destination:=Range("J3:M" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "Sheet2"
Range("J3:M3").AutoFill Destination:=Range("J3:M" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "Sheet3"
Range("J3:M3").AutoFill Destination:=Range("J3:M" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "Sheet4"
Range("J3:M3").AutoFill Destination:=Range("J3:M" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "Sheet5"
Range("J3:M3").AutoFill Destination:=Range("J3:M" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "Sheet6"
Range("J3:K3").AutoFill Destination:=Range("J3:K" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "[Day 3]"
Range("J3:K3").AutoFill Destination:=Range("J3:K" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "[Day 5]"
Range("J3:K3").AutoFill Destination:=Range("J3:K" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "[Day 10]"
Range("J3:K3").AutoFill Destination:=Range("J3:K" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "[Day 15]"
Range("J3:K3").AutoFill Destination:=Range("J3:K" & Cells(Rows.Count, "A").End(xlUp).Row)
Case "[Day 20]"
Range("J3:K3").AutoFill Destination:=Range("J3:K" & Cells(Rows.Count, "A").End(xlUp).Row)
Case Else
'Code for other sheets
End Select
Next WKS
End Sub
由于
答案 0 :(得分:2)
怎么样
WKS.Range("J3:M3").AutoFill ...
而不是
Range("J3:M3").AutoFill ...
这样,您可以指定范围位于指定的工作表中,而不是在活动工作表中。
稍后修改:请注意,Destination
参数的引用可能也需要更新到指定的工作表而不是活动的工作表。