我试图找到一个循环的最大值。首先,我有两个随机数组,我想找到这两个数组的相关系数。然后,我想计算它多次“I3”单元格。之后,我想编写一个代码,从该计算中找出最大相关系数。我写了下面的代码,但它没有用。
Sub Macro1()
Dim i As Long
For i = 1 To Range("I3")
Calculate
Next
DMax = Application.WorksheetFunction.Max("A2")
Range("I4").Value = DMax
End Sub
感谢任何帮助。
答案 0 :(得分:1)
你的Max-Function需要一个适当的参数。只输入“A2”在VBA中不起作用。尝试:
DMax = Application.WorksheetFunction.Max(Range("A2"))
这将为您提供数组 A2 的最大值。但请记住,由单个单元格组成的范围的最大值始终是单元格值。
如果要计算所有迭代的最大值,则应在每次迭代中使用max-function(在for循环内)并存储它的值。在每次后续迭代中,如果新的最大值大于旧的最大值,则应覆盖max-Value。就像这样:
Sub Macro1()
Dim i As Long
DMax = 0
For i = 1 To Range("I3")
Calculate
DMax2 = Application.WorksheetFunction.Max(Range(...))
If DMax2 > DMax Then DMax = DMax2
Next i
Range("I4").Value = DMax
这将为您提供所有迭代的范围(...)的最大值。
答案 1 :(得分:0)
我几乎不了解您的代码,但解决方案将是禁止循环。假设您有两组数字:A2
(Cells(2, 1)
)到I2
(Cells(2, 7)
)和A3
(Cells(3, 1)
)到{{1 (I3
)。您想要计算部分相关性并找出它的最大值。
Cells(3, 7)
答案 2 :(得分:0)
For i = 1 To Range("I3").value 'to calculate from 1 to the value in that cell
我会为你的问题推荐什么。
For i = 1 To 10 ' loop 10 times
For j = 1 To i ' here it will allow you to check your stuff multiple times before moving on to the next value
arr1(i) = arr2(j) ' see if your array match
Next j
Next i