使用excel-vba解决方程式,如果条件似乎工作不同
试图用excel-vba解决方程式,
等式: xy = 5(x + y)
我使用下面的vba代码来确定x
和y
的值并将其打印在单元格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个temp
variables,但不起作用,
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
。
如果需要小数部分,则声明y
为Double :