簡體   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