簡體   English   中英

EXCEL / VBA - function 電子表格中的#VALUE錯誤

[英]EXCEL / VBA - function #VALUE error in spreadsheet

(我想計算從“n”個骰子投擲中獲得“總和”的可能方法的數量(骰子有 1..k 的“k”面)。)

當我想在 excel 電子表格中使用這個 function 時,無論我嘗試什么輸入,我都會收到 #VALUE 錯誤。
我在同一個模塊中有其他功能,在同一張工作表中使用,工作正常\

Function how_many_ways(n, k, sum)
    If n = 0 Then
        If sum = 0 Then
            how_many_ways = 1
        Else
            how_many_ways = 0
        End If
    End If
    
    If sum < 0 Or k * n < sum Or n > sum Then
        how_many_ways = 0
    End If
    
    res = 0
    For i = 1 To k
        res = res + how_many_ways(n - 1, k, sum - i)
    Next i
    
    how_many_ways = res
    
End Function

它總是運行 for 循環,因此它無限循環。 嘗試這個。

Function how_many_ways(n, k, sum)
    If n = 0 Then
        If sum = 0 Then
            how_many_ways = 1
        Else
            how_many_ways = 0
        End If
    ElseIf sum < 0 Or k * n < sum Or n > sum Then
        how_many_ways = 0
    Else
       res = 0
       For i = 1 To k
           res = res + how_many_ways(n - 1, k, sum - i)
       Next i
       how_many_ways = res
    End If
End Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM