我希望在Excel中运行大量的数字,并且需要该程序尽可能地为其他人访问。
我想仅保留电子表格Excel(可能是VBA),但有相当于Python的生成器,还是Excel中的yield函数?
即。
gen = (x for x in range(10))
答案 0 :(得分:0)
正如评论中所提到的,如果你能准确地描述你在Excel
中想要做什么,那将是件好事。
Excel
可以执行数组公式。在这些数组公式中,我们可以使用ROW
或COLUMN
函数来获取连续整数的数组。
例如:
{=SUM(ROW(1:10))}
以[Ctrl] + [Shift] + [Enter]作为数组公式输入,将计算从1到10的整数之和。
要输入数组公式,请将公式输入到没有卷曲括号的单元格中,然后按[Ctrl] + [Shift] + [Enter]进行确认。然后会自动显示花括号。
或者使用VBA:
Sub test()
Dim gen As Variant
gen = [{0,1,2,3,4,5,6,7,8,9}]
' gen is now an Array Variant(1 to 10) containing integers 0 to 9
gen = [ROW(1:10)-1]
' gen is now an Array Variant(1 to 10, 1 to 1) containing integers 0 to 9
For Each i In gen
MsgBox i
Next
Erase gen ' free the memory used by gen
End Sub
将从0循环到9。