excel vba A列单元格内容变动,对应B列的单元格公式计算后显示值

VBAA列单元格中输入内容(或者文本框输入到A列内容)后对应B列用公式计算后显示值(公式计算后去掉公式)如图我在第一个文本框输入内容后回车,会自动录入到K列(或者直接在K列输内容),对应M列单元格公式进行计算后显示值。 目前我是在M列输入的公式,就是想K列内容变化,M列计算公式后去掉公式

用change事件来做,我这里用的是sheet的change事件,还有workbook级的change事件,如果用那个做,代码会有微妙的区别,这里以sheet级change事件为例。需要一个bool值防止死循环。虽然感觉就算不加也不会,但是以防万一。

Dim gb As Boolean

然后下面是代码。

Private Sub Worksheet_Change(ByVal Target As Range)

    If gb = False Then

        gb = True

        Dim fml As String

        fml = "" '公式写在这,比如"=if(len(),,)"这样

            If Target.Column = 11 Then '如果K列改变

                '如果你填了公式,K列改变后首先会覆盖同行M列的公式,然后变成值。

                If fml <> "" Then

                    Cells(Target.Row, 13).Formula = fml

                End If

                Cells(Target.Row, 13).Value = Cells(Target.Row, 13).Value

            End If

    End If

    gb = False

End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-08-26
M列公式呢?

excel vba A列单元格内容变动,对应B列的单元格公式计算后显示值
然后下面是代码。Private Sub Worksheet_Change(ByVal Target As Range)If gb = False Then gb = True Dim fml As String fml = "" '公式写在这,比如"=if(len(),,)"这样 If Target.Column = 11 Then '如果K列改变 '如果你填了公式,K列改变后首先会覆盖同行M列的公式,然后变成值。If ...

Excel vba中怎样填写数值改变单元格后触发事件
右击你要判断的工作表,查看代码。将下面几段代码复制进去 当你改变单元格就会弹出提示数值被改变 Dim a Private Sub Worksheet_SelectionChange(ByVal Target As Range)a = Target.Value End Sub Private Sub Worksheet_Change(ByVal Target As Range)If a <> Target.Value Then MsgBox "单元格数值...

EXCEL中函数求助,筛选出列A对应列B中的数据并显示出来
i) = NeedName.Offset(0, 1) '统计别人的时候,把F1单元格换成你想要的位置 i = i + 1 End If End IfNextRange("D2") = num '同样,D2单元格你也可以改成别的位置End Sub

请教Excel vba 如何将A列中等于指定数值的单元格更改为对应B列单元格的...
Sub 对应数值() Dim r& r = [a1048576].End(xlUp).Row Set Arr = Range("a:a") For i = 1 To r If Arr(i, 1) = "指定数值" Then Arr(i, 1) = Range(Cells(i, 2)) End If Next i Set Arr = NothingEnd Sub ...

请教EXCEL中如何A列数据改变,对应的B、C、D等列数据跟着改变
一.当你调用A列所在的数据的时候,那么后面就会显示他们的某些规定属性 答:这个确实用函数就可以做到但不是IF(),而是要用VLOOKUP()不要着急,一看到我说函数,就来劲!接着往下看 二.当鼠标但在BC列时,可以看出什么都没有的,没有函数的 答:可能你的这个表确实用VBA编写了,但是也不一定 你眼睛看到...

如何让Excel的前一个单元格算式,后一个单元格结果?
在定义了名称或使用了VBA宏\/Excel公式后,就可以在后一个单元格中输入相应的公式或名称来显示结果了。如果需要批量计算多个算式的结果,只需将包含公式的单元格向下拖动填充即可。Excel会自动根据前一个单元格中的算式计算出对应的结果,并显示在后一个单元格中。总的来说,实现Excel中前一个单元格算式...

怎么在excel中根据一个单元格的值动态改变另一个单元格的公式
1. 使用IF函数进行条件判断:在B1单元格中输入类似这样的公式:`=IF`。这里的`[对应的公式]`应该替换成你希望在A1值为10时B1单元格所应用的公式。比如,如果A1为10时,你希望B1显示A2和A3单元格的和,那么公式应该是`=IF`。2. 使用INDIRECT函数动态引用:如果你的需求更复杂,比如需要根据A1单元格...

EXCEl中如何在B列单元格显示A列单元格的修改(录入)时间
Target.Column >= 2 And Target.Column <= 10 Then Application.EnableEvents = False Cells(Target.Row, 1) = Now()Application.EnableEvents = True End If End Sub 最后单击“保存”按钮即可。此代码的作用是,当工作表中的B3:J100数据变化时,在同行的第一个单元格中自动输入当前系统时间,即A...

Excel 如何根据A列的一个条件返回这个条件对应的B列数据里面的唯一值列...
方法一,用普通过滤先把A列的深圳市过滤出来,然后拷贝出来(假设在sheet2)。然后选择B列,按“高级筛选”,把下面“选择不重复记录”的选框勾上,结果就出来了 方法二,编写简单的VBA实现

excel中如何按照A单元格的数值在B列自动生成对应数量的自动填充数值
B2输入 =IF(B1<INDEX($A$2:$A$1000,COUNTIF(B$1:B1,1)),B1+1,1)公式下拉

相似回答