繁体   English   中英

溢出错误-Excel VBA

[英]Overflow Error - Excel VBA

我在以下代码行上出现溢出错误:

coukTotalBingBrandSessions = (convertStringToNumber(coukBingBrandSessions) + ((convertStringToNumber(coukBingBrandSessions) / (convertStringToNumber(coukBingBrandSessions) + convertStringToNumber(coukBingNonBrandSessions))) * convertStringToNumber(coukBingTNPSessions)))

我做了一些搜索,大多数答案似乎都与变量类型有关。 但是我已经检查了变量,除非我完全瞎了(承认),否则我看不到任何会干扰函数的不一致之处。

convertStringToNumber是一个函数:

Function convertStringToNumber(convertNumber As String) As Long

If convertNumber > "" Then
convertStringToNumber = 0
Else: convertStringToNumber = CLng(convertNumber)
End If

End Function

我定义了以下变量:

Dim coukBingBrandSessions As String
Dim coukBingNonBrandSessions As String
Dim coukBingTNPSessions As String
Dim coukGoogleBrandSessions As String
Dim coukGoogleNonBrandSessions As String
Dim coukGoogleTNPSessions As String
Dim coukPpcBrandSessions As String
Dim coukPpcNonBrandSessions As String
Dim coukBingBrandOrders As String
Dim coukBingNonBrandOrders As String
Dim coukBingTNPOrders As String
Dim coukGoogleBrandOrders As String
Dim coukGoogleNonBrandOrders As String
Dim coukGoogleTNPOrders As String
Dim coukPpcBrandOrders As String
Dim coukPpcNonBrandOrders As String
Dim coukOtherBrandSessions As String
Dim coukOtherNonBrandSessions As String
Dim coukOtherTNPSessions As String
Dim coukYahooBrandSessions As String
Dim coukYahooNonBrandSessions As String
Dim coukYahooTNPSessions As String
Dim coukOtherBrandOrders As String
Dim coukOtherNonBrandOrders As String
Dim coukOtherTNPOrders As String
Dim coukYahooBrandOrders As String
Dim coukYahooNonBrandOrders As String
Dim coukYahooTNPOrders As String

Dim coukSEOBrandSessions As Long
Dim coukSEONonBrandSessions As Long

Dim coukSEOBrandOrders As Long
Dim coukSEONonBrandOrders As Long

Dim coukTotalBingBrandSessions As Long
Dim coukTotalGoogleBrandSessions As Long
Dim coukTotalOtherBrandSessions As Long
Dim coukTotalYahooBrandSessions As Long

Dim coukTotalBingBrandOrders As Long
Dim coukTotalGoogleBrandOrders As Long
Dim coukTotalOtherBrandOrders As Long
Dim coukTotalYahooBrandOrders As Long

Dim coukTotalBingNonBrandSessions As Long
Dim coukTotalGoogleNonBrandSessions As Long
Dim coukTotalOtherNonBrandSessions As Long
Dim coukTotalYahooNonBrandSessions As Long

Dim coukTotalBingNonBrandOrders As Long
Dim coukTotalGoogleNonBrandOrders As Long
Dim coukTotalOtherNonBrandOrders As Long
Dim coukTotalYahooNonBrandOrders As Long

干杯

我将计算结果包装在

On Error Resume Next
On Error GoTo 0

代码可以运行,但是我不认为这是处理它的最佳方法,因为没有建议。

@Comintern做一些进一步的工作后发现,无论如何我都需要将计算分解为不同的部分,因此,应该能够轻松地实现您建议的先检查除数的建议。

如果遇到问题,我会报告;)

欢呼的家伙

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM