使用excel-vba解决方程式,如果条件似乎工作不同

试图用excel-vba解决方程式,

等式: xy = 5(x + y)

我使用下面的vba代码来确定xy的值并将其打印在单元格A1

 Sub equation() Dim x As Long, y As Long For x = 1 To 9 For y = 1 To 9 If ((x * y) = (5 * (x + y))) Then Range("A1") = x & "," & y End If Next y Next x End Sub 

但是,这段代码不起作用。 我想我在中条件失踪的东西。

我尝试了下面这个完美的作品,

 Sub equation() Dim x As Long, y As Long For x = 1 To 9 For y = 1 To 9 If 5 * (x + y) = 45 Then Range("A1") = x & "," & y End If Next y Next x End Sub 

我甚至尝试了2个tempvariables,但不起作用,

 Sub equation() Dim x As Long, y As Long, temp1 As Long, temp2 As Long For x = 1 To 9 For y = 1 To 9 temp1 = x * y temp2 = 5 * (x + y) If temp1 = temp2 Then Range("A1") = x & "," & y End If Next y Next x End Sub 

有人可以告诉我我在做什么错误的IF条件。

考虑:

xy = 5(x + y)
xy = 5x + 5y
xy-5y = 5x
y(x-5)= 5x
y = 5x /(x-5)

然后插入x的值并求解y

 Sub qwerty() Dim x As Long, y As Long For x = 6 To 13 y = 5 * x / (x - 5) Cells(x, 1) = x Cells(x, 2) = y Next x End Sub 

在这里输入图像说明

xselect任何值,避免x = 5
如果需要小数部分,则声明yDouble

在这里输入图像描述