在所有表单上运行VBA

我对VBA的认识接近于null,但是我发现了一个可以改变的代码来达到我的目的。 现在唯一的事情是,这个代码只运行在名为“test”的工作表上,我需要为同一个文件上的所有工作表运行这个代码。

非常感谢你。

Sub MyCopyPasteValues() ' CopyPasteValus Macro ' Macro to hard code last weeks data. Dim i As Byte, ws As Worksheet Set ws = Worksheets("test") For y = 7 To 24 For i = 3 To 4 If ws.Cells(y, 2).Value < ws.Range("K" & 7).Value Then ws.Cells(y, i).Value = ws.Cells(y, i).Value End If Next i Next y End Sub 

这应该做到这一点:

 Sub MyCopyPasteValues() ' CopyPasteValus Macro ' Macro to hard code last weeks data. Dim i As Byte, ws As Worksheet For Each ws In Worksheets For y = 7 To 24 For i = 3 To 4 If ws.Cells(y, 2).Value < ws.Range("K" & 7).Value Then ws.Cells(y, i).Value = ws.Cells(y, i).Value End If Next i Next y Next End Sub 

我想这是你在找什么:

 Option Explicit Sub MyCopyPasteValues() ' CopyPasteValus Macro ' Macro to hard code last weeks data. Dim ws As Worksheet Dim Y As Long, i As Long For Each ws In ThisWorkbook.Worksheets For Y = 7 To 24 For i = 3 To 4 If ws.Cells(Y, 2).Value < ws.Range("K7").Value Then ws.Cells(Y, i).Value = ws.Cells(Y, i).Value End If Next i Next Y Next ws End Sub