Excel单元格值更新macros

我有一个电子表格跟踪不同的储蓄,所以列A有一个名字,B有一个货币值。 我希望能够在列C中input一个值,并使其更新旁边的B单元格,然后返回0.例如:

B1 =£50.00

我在C1中input12.00英镑

B1 = 38.00英镑

C1 =£0.00

我以为会有一个内置的函数,但我找不到一个。 我想我需要写一个macros来做到这一点。 任何人都可以告诉我如何做到这一点?

您需要将以下代码添加到您工作的工作表中。 右键单击工作表名称选项卡,然后select查看代码并将其粘贴进去。

Private Sub Worksheet_Change (ByVal Target as Range) Dim FirstNum as Currency 'Long is for number currency should help keep format Dim SecNum as Currency If Target.Column = 3 Then 'Only Runs if Cell being changed is in column C, Might need to be Columns FirstNum = Target.offset(-1,0).Value ' Value in Column B SecNum = Target.Value ' Value being typed in C Target.Offset(-1,0).Value = FirstNum - SecNum ' Makes Cell B equal to difference of previous value and value typed in C MsgBox("Difference Found") ' Just to display code worked Remove when confirm code works Target.Clear ' Clears Value you typed End if End Sub 

似乎你想在这里做一些与excel通常工作方式有些不同的东西。 build议你使用更多的行,那么你不需要一个macros。 例如B1 = $ 50 C1 = – $ 12然后B2 == IF(C1 <>“”,B1 + C1,“”)。 然后复制单元格B1,以便在下面的单元格中input公式。 你在C2中input下一个值。 这是否做你所需要的?