VBA 中的 GCD 函数返回太多数字

GCD Function in VBA Returning Too Many Digits

我想 return 在我的 Excel sheet 中使用 VBA 的比率。我有两列数据:已修复的缺陷和未修复的缺陷。该比率将是机组人员修复的缺陷数量与他们无法修复的缺陷数量之比。我正在使用这个函数来查找 GCD:

Function GCD(numerator, denominator)
    If denominator = 0 Then
        GCD = numerator
    Else 
        GCD = GCD(denominator, numerator Mod denominator)
    End If
End Function

然后我计算它并将其打印在我的价差sheet 的结果页面中:

Sheets("Results").Range("M" & iResults)/Value = RatioNum1 & ":" & RatioNum2

其中 RatioNum1 和 RatioNum2 只是我存储 Data1 / GCD 和 Data2 / GCD 的变量。我的问题是,在 Excel 中,比方说比率是 1 比 1,它每次都会打印第二个带有额外数字的数字,在此示例中为 1:01。或者如果它应该是 3:1,它会打印 3:01 等等。

这只是函数 return 值的方式,还是我无意中在我的代码中的某处添加了额外的数字。

要删除第二个比率数字前面的零,只需使用 Int 函数,如下所示:

Sheets("Results").Range("M" & iResults)/Value = RatioNum1 & ":" & Int(RatioNum2)