Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA问题-运行时错误“6”:溢出_Excel_Vba_Runtime - Fatal编程技术网

Excel VBA问题-运行时错误“6”:溢出

Excel VBA问题-运行时错误“6”:溢出,excel,vba,runtime,Excel,Vba,Runtime,我在VBA上遇到了这个问题。。。 我需要创建组合,但当N>22且K=5时,VBA返回运行时错误“6”:溢出。 我试图通过使用.xlxs保存文件来解决这个问题,但问题仍然存在。 所以我尝试将变量切换到32位,但我真的不知道如何修改代码 请在下面找到: Public col(100), r, n, nr As Integer Function comb(k) col(k) = col(k - 1) While col(k) < n - r + k col(k) = col(k) + 1 I

我在VBA上遇到了这个问题。。。 我需要创建组合,但当N>22且K=5时,VBA返回运行时错误“6”:溢出。 我试图通过使用.xlxs保存文件来解决这个问题,但问题仍然存在。 所以我尝试将变量切换到32位,但我真的不知道如何修改代码

请在下面找到:

Public col(100), r, n, nr As Integer
Function comb(k)

col(k) = col(k - 1)
While col(k) < n - r + k

col(k) = col(k) + 1
If k < r Then
comb (k + 1)
Else
nr = nr + 1
For i = 1 To r
Cells(nr, i) = col(i)
Next
End If

Wend


End Function
指定的值必须高于整数所能处理的值。使用Single,或者出于调试原因,在函数中单独声明它们,这样,如果错误持续存在,它将突出显示带有错误的变量


不要使用double,因为输出可能需要格式,double=小数等,如enderland在注释中所述

数字变得太大,int或long无法处理。对于较小的数字,可以使用直接公式;对于较大的数字,可以使用斯特林近似或Ramanujan的阶乘公式,并将其存储在双精度存储中

公共col100,右,北,北为双
Public col(100), r, n, nr As Integer