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