當宏退出For循環時,出現類型不匹配錯誤。我不知道爲什麼,但希望得到任何幫助。我曾嘗試尋找這個問題,但沒有任何建議適用於我的情況。退出循環的Excel宏類型不匹配錯誤
Option Explicit
Dim MODULE_NAME() As String
Dim Counter As Long
Dim i As Long
1210 For Counter = i To CLng(i + CLng(CLng(UBound(MODULE_NAME)) Mod 127))
1220 Call MacroLineNum(Counter, MODULE_NAME, TotalLines)
1230 If Counter Mod UpdateFreq = 0 Then
1240 '**Save the file
1250 With gloMacroWorkbook
1260 If Not .ReadOnly Then
1270 .Save
1280 Else
1290 .Saved = False
1300 End If
1310 End With
1320 LockWindowUpdate 0&
1330 '-------------------------------------------------------------------------------------------------
1340 ' Update the status bar.
1350 '-------------------------------------------------------------------------------------------------
1360 Call subStatusBarUpdater("Still updating the line numbers in the modules. " & Counter & " of " & UBound(MODULE_NAME) & " processed....")
1370 If VBEHwnd Then
1380 LockWindowUpdate VBEHwnd
1390 End If
1400 End If
1410 If Counter = UBound(MODULE_NAME) Then
1420 MsgBox "Exiting for loop."
1430 End If
1440 Next Counter
1450 MsgBox "Saving file"
我的代碼行達到1420,而不是1450線甚至我加入類型轉換功能「CLng函數」到1210,但似乎沒有任何幫助。在1420和1450行之間,我總是得到'類型不匹配'的錯誤,沒有詳細說明在哪裏以及爲什麼。
MODULE_NAME()數組是一個包含159個字符串條目的動態數組。任何幫助將不勝感激。
'MacroLineNum'做什麼? – Comintern
@ Mat'sMug它跳躍10,所以它是145 :) –
@AA它似乎你不是退出'For'循環,在行1430之後(在Next Counter之前)添加一個'MsgBox'並且寫入'MsgBox 「計數器是:」&計數器「 –