vba枚举错误:“内部过程无效”。

我想通过VBA在EXcel中循环一些单元格。 我想在其中使用枚举,但在运行代码编译器错误出现,即:“内部过程无效”。

以下是代码片段:

Dim resSub(1 To 8) As Integer Private Enum Subjects Hindi = 1 English = 2 Sanskrit = 3 Math = 4 Science = 5 SoScience = 8 End Enum Dim resCur As Integer resCur = 0 Dim resG As Integer resG = 0 Dim resF As Integer resF = 0 Dim markG As Integer markG = 0 For j = Hindi To SoScience resCur = Sheets("Result").Cells(pst_end_row, ColumnAZ(cpy_start_col + 6 + 2 * j)).Value If (resCur < 33) And Not (j = Science) Then resSub(j) = 1 resG = resG + 1 If (resCur >= 27) Then markG = markG + 33 - resCur Else resF = resF + 1 End If ElseIf (resCur < 25) And (j = Science) Then resSub(j) = 1 resG = resG + 1 If (resCur >= 19) Then markG = markG + 25 - resCur Else resF = resF + 1 End If End If Next j 

有人可以帮助我,因为我是新的VBA编码?

谢谢,AJ

~~~~~~~~~~~~~~~~~~~~~`哪里有一个shell,有一个方法。 ;)~~~~~~~~~~~~~~~~~

在程序之外声明ENUM – 不在其中。

你通常使用什么语言? 好像不像VBA。

你可以使用字典,而不是一个枚举?

 Dim Subjects As Object:Set Subjects = CreateObject("scripting.dictionary") Subjects.Add "Hindi", 1 Subjects.Add "English", 2 Subjects.Add "Sanskirt", 3 Subjects.Add "Math", 4 Subjects.Add "Science", 5 Subjects.Add "SoScience", 8 Dim Key As Variant Dim Value As Integer For Each Key In Subjects.Keys Value = Subjects(Key) ' Key == "Hindi" -> Value == 1 Next Key