重新排列方程式

时间:2018-12-09 06:56:36

标签: excel vba excel-vba

例如,一个简单的方程是

F = m * a

我的Excel工作表中有

enter image description here

所以在这里我没有输入m 是否可以重新排列要为m

计算的方程式
m = F / a
  • excel是否有内置工具可以做到这一点?
  • VBA可以这样做吗?
  • 在以上两种情况均无法解决的情况下,还有其他方法可以实现这一目标吗?

因此,基本上,如果我将任何一个变量单元格留空,然后填写其他两个变量单元格,我希望获得第三个变量的结果。

2 个答案:

答案 0 :(得分:2)

将其放在工作表的专用代码表中(右键单击工作表名称选项卡,查看代码)。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("B2:B4")) Is Nothing Then
        On Error GoTo safe_exit
        Application.EnableEvents = False
        If Application.Count(Range("B2:B4")) = 2 Then
            If IsEmpty(Range("B2")) Then
                Range("B2") = Range("B3").Value2 * Range("B4").Value2
            ElseIf IsEmpty(Range("B3")) Then
                Range("B3") = Range("B2").Value2 / Range("B4").Value2
            Else
                Range("B4") = Range("B2").Value2 / Range("B3").Value2
            End If

            Range("B2").NumberFormat = "0 \N"
            Range("B3").NumberFormat = "0.0 \k\g"
            Range("B4").NumberFormat = "0 \m\/\s\²"
        End If
    End If

safe_exit:
    Application.EnableEvents = True

End Sub

答案 1 :(得分:1)

您可以使用if()语句来做到这一点:

if (test_1 == test_2):

不进行任何错误检查,例如检查任意两个单元格中的数字等。

enter image description here