0
我有一個名爲「checkConvert」的方法,它應該返回一個String。VBA - 不能從內部返回值If語句在For循環中
我創建了一個For循環,它在循環結束時返回一個值作爲checkConvert。另外,在For循環中,我已經設置了一個Case,並且在該Case內部,另一個For循環與If語句內部。在那些If語句中,我也嘗試以checkConvert的形式返回一個值,但它根本不起作用。
For i = val To lastColumn_source
For j = 1 To 3
Dim cellValue As String
cellValue = salesSource.Cells(j, i).Value
Select Case i
Case 1
Dim match As Boolean
match = False 'Default is false.
'Equating two cells = false.
For x = 1 To lastRow_check
If cellValue = sourceCheck.Cells(x, 1) Then
CRMDest.Cells(j, 2) = newName
match = True 'Match is found. Thus, true.
End If
If x = lastRow_check And match = False Then
checkConvert = newName 'Supposed to return
'value. Doesn't
'work.
MsgBox checkConvert 'But MsgBox works.
End If
Next x
Case 2 'Several more cases follow.
Case 13
checkConvert = "End of Program." 'Returns String
'to "end program."
'This one works.
End Select
checkConvert = "Move." 'This return also
'works.
Next j
Next i
我的上帝。該死的。這很有道理。我會看到如果我執行「退出功能」會發生什麼情況。非常感謝,馬特杯。欣賞它。 :) – TheBSITGuy