gpt4 book ai didi

excel - 使用 Do While 循环而不是使用立即窗口将值打印到工作表

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:49:12 25 4
gpt4 key购买 nike

我了解到“即时窗口”最多只能打印 199 行值。有没有一种简单的方法可以将下面算法生成的值打印到工作表单元格中?具体来说,我不确定 do while loop 是否是执行此操作的最有效方法。我通常处理工作表上已经存在的数据,我只是指定循环运行到最后一行数据。由于最外层循环从 t=2 到 50 运行,我不太确定如何设置最内层循环的格式以在算法生成所有可能值之前运行。正如所写的那样,宏花费了很长时间,以至于我没有等到它停止。该算法最多不应生成超过一千行数据。

For t = 2 To 50
For b = 2 To 20
For r = 1 To 20
For k = 3 To 7
If t * k = b * k Then
lambda = r * (k - 1) / (t - 1)
If lambda = Int(lambda) Then
Do While t < 51
Cells(i, 1) = t
Cells(i, 2) = b
Cells(i, 3) = k
Cells(i, 4) = r
Cells(i, 5) = lambda
Debug.Print t, b, k, r, lambda
i = i + 1
Loop
End If
End If
Next k
Next r
Next b
Next t

最佳答案

正如 Tim 和我所说的那样,不需要 do 循环,它会永远持续下去。因此,您需要指定行,然后让它迭代,而不是循环。

For t = 2 To 50
For b = 2 To 20
For r = 1 To 20
For k = 3 To 7
If t * k = b * k Then
lambda = r * (k - 1) / (t - 1)
If lambda = Int(lambda) Then
I = Range("A" & Rows.count).End(xlUp).Offset(1).Row
Cells(I, 1) = t
Cells(I, 2) = b
Cells(I, 3) = k
Cells(I, 4) = r
Cells(I, 5) = lambda
'Debug.Print t, b, k, r, lambda
'I = I + 1

End If
End If
Next k
Next r
Next b
Next t

关于excel - 使用 Do While 循环而不是使用立即窗口将值打印到工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32703115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com