Excel VBA代码,用于在Sheet1上单击宏按钮时设置Sheet2上的值

Excel VBA代码,用于在Sheet1上单击宏按钮时设置Sheet2上的值,excel,vba,Excel,Vba,我目前的代码附在下面。当我在Sheet2上放置一个带有VBA代码的按钮并运行它时,它就会工作。但是,我希望将按钮放在表1上,但同时在表2上进行更改 Sub SaveData() Application.ScreenUpdating = False Dim Rng As Range For Each Rng In Range("J8:AS78") If Rng.Value > 0 Then Rng.Value = Rng.Va

我目前的代码附在下面。当我在Sheet2上放置一个带有VBA代码的按钮并运行它时,它就会工作。但是,我希望将按钮放在表1上,但同时在表2上进行更改

Sub SaveData()

    Application.ScreenUpdating = False
    Dim Rng As Range
    For Each Rng In Range("J8:AS78")
        If Rng.Value > 0 Then
            Rng.Value = Rng.Value
        End If
    Next Rng
    Application.ScreenUpdating = False
End Sub

请帮我修复这个代码。提前感谢。

您需要指定要操作的工作表。此范围J8:AS78表示当前活动的工作表

试试这个

Option Explicit 

Sub SaveData()

    Application.ScreenUpdating = False

    Dim Rng As Range
    Dim Ws as worksheet 

    ' change to "sheet2" or whatever name your second sheet has. 
    Set Ws = Thisworkbook.Sheets("Your sheet name") 
    With Ws 
        For Each Rng In .Range("J8:AS78")
            If Rng.Value > 0 Then
                Rng.Value = Rng.Value
            End If
        Next Rng
    End with 
    Application.ScreenUpdating = True

End Sub

添加应应用范围的工作表。这假设它是同一个工作簿

Sub SaveData()
    Application.ScreenUpdating = False
    Dim Rng As Range
    Dim MyWorkSheet As Worksheet
    Set MyWorkSheet = Worksheets("Sheet2")
    For Each Rng In MyWorkSheet.Range("J8:AS78")
        If Rng.Value > 0 Then
            Rng.Value = Rng.Value
        End If
    Next Rng
    Application.ScreenUpdating = True
End Sub