VBA-乘法列

Vie*_*n78 1 excel vba excel-vba

我正在运行一个小型VBA,以遍历一系列行(27-52),以将DX列E的简单乘法返回到F列。

我下面的代码使Excel崩溃。谁能指出我犯错的明显之处。我显然不是专家!

Private Sub Worksheet_Change(ByVal Target As Range)

For i = 27 To 52

  Cells(i, 6) = Cells(i, 4) * Cells(i, 5)

Next i

End Sub
Run Code Online (Sandbox Code Playgroud)

谢谢

Jus*_* MK 5

由于您使用的更改事件,Excel将在您的代码创建无限循环时崩溃。每次您的代码将两个给定的单元格相乘时,它将被识别为更改事件,因此您的代码将被再次触发。

您可以使用Michal发布的调整后的代码,也可以调整原始代码:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    For i = 27 To 52
        Cells(i, 6) = Cells(i, 4) * Cells(i, 5)
    Next i
    Application.EnableEvents = True
End Sub
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!