完美解决你的问题,把下面代码输入工作表代码窗口(不是模块)就可以,这个工作表所有的单元格就都可以实现,而且是本单元格直接显示,啥公式函数都可以。注意公式前后都不要输入=,例如输入788*2+523后回车就会在本单元格生成788*2+523=2099,而且生成的数据是没有公式的。后续我会升级让后面加=回车也能正常显示,也就是输入788*2+523=也能自动生成788*2+523=2099,毕竟很容易后面习惯加个等号。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim formulaCell As Range
Dim result As Double
Dim output As String
'确保只处理单个单元格,并且该单元格不是空的
If Target.Count = 1 And Not IsEmpty(Target.Value) Then
Set formulaCell = Target
'尝试计算输入的公式
On Error Resume Next '忽略错误
result = Evaluate(formulaCell.Value)
On Error GoTo 0 '恢复错误处理
If Not IsError(result) Then '检查计算是否成功
output = formulaCell.Value & "=" & result '生成输出文本
'更新单元格内容
Application.EnableEvents = False '防止再次触发事件
formulaCell.Value = output
Application.EnableEvents = True '重新启用事件
End If
End If
End Sub
