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列公式呢?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网