Я получаю сообщение об ошибке, связанной с переполнением на следующей строке кода:перелива Ошибка - 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
Приветствия
Ваше «если» утверждение неверно. Попробуйте, если Len (convertNumber)> 0 и isNumber (convertNumber), затем ... Также удалите ':' после инструкции else. –
Что делать, если вы объявили 'coukTotalBingBrandSessions'' Double'? (В дополнение к тому, что указывал @KrisB) – BruceWayne
@BruceWayne определяется как Long – megatron77