VBA – Excel Formula Caclulation

我想在vba中写一个代码产生一个简单的计算,activesheet.cells(i,3)= activesheet.cells(i,2)* activesheet.cells(i,1)

我的问题是,当我运行一次代码,然后更改单元格(i,2)和单元格(i,1)上的值,我想单元格(i,3)单元格自动计算新值

例如,如果单元格(i,2)= 3,单元格(i,1)= 2,那么单元格(i,3)= 6我想手动将excel中的值更改为单元格(i,2)= 4, (i,1)= 4,而不需要再次运行我想要的代码,单元格(i,3)= 16

这段代码在for循环中

尝试制作一个包含地址的string,就像这样

activesheet.cells(i,3) = "=" & activesheet.cells(i,2).Address(0, 0) & "*" & activesheet.cells(i,1).Address(0, 0) 

你需要的是macros观事件。

右键单击您想要使用的工作表,然后select查看代码。 复制粘贴此代码:

 Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo errorHandler Application.EnableEvents = True Dim lastrow As Long, rango As Range, Hoja As Worksheet Set Hoja = ActiveSheet lastrow = Application.CountA(Hoja.Range("A:A")) Set rango = Hoja.Range("A1:C" & lastrow) rango(lastrow, 3).Value = rango(lastrow, 1).Value * rango(lastrow, 2).Value errorHandler: End Sub 

在这里输入图像说明

在这里输入图像说明