这是我正在尝试修复的代码。这是来自Excel电子表格宏。VBA - 运行时错误6.溢出
Ex。当我运行Tally检查器宏并键入检查器的名称时,宏将假设在每周的每一天都接收数据表单,然后填充我所做的表。但是当我运行它,我得到运行时错误6.溢出错误。
代码:
Sub Tally Inspector()
Dim personName As String
personName = InputBox("Enter Name Of Inspector")
Dim counter As Integer
Dim endOfTable
endOfTable = 130
Dim witnessSum As Integer: witnessSum = 0 'number witness by CCI
Dim ICbyCrew As Integer: ICbyCrew = 0 'number done by crew
Dim columnLetter As Integer: columnLetter = 11 'K
For counter = 5 To endOfTable
If StrComp(Cells(counter, columnLetter), personName) = 0 And _
IsNumeric(Cells(counter, columnLetter - 1)) = True Then
witnessSum = (witnessSum + Cells(counter, columnLetter - 1).Value)
ICbyCrew = (ICbyCrew + Cells(counter, 4).Value)
End If
Next counter
For counter = 150 To 160 Step 1
If Cells(counter, "E").Value = personName Then
Cells(counter, "F").Value = ICbyCrew
Cells(counter, "G").Value = witnessSum
Cells(counter, "H").Value = (witnessSum/ICbyCrew)* 100 'This line is highlighted when I run the debugger'
Exit For
End If
Next counter
End Sub
Sub Inspector()
Dim Inspector As String
Dim Inspection As Integer: Inspection = 0
Dim Witness As Integer: Witness = 0
For x = 155 To 158
Inspector = Cells(x, "E")
If Inspector = "" Then
Exit For
End If
For y = 5 To 120
If (StrComp(Inspector, Cells(y, "K")) = 0) And (IsNumeric(Cells(y, "D")) = True) And (IsNumeric(Cells(y, "J")) = True) Then
Inspection = Inspection + Cells(y, "D")
Witness = Witness + Cells(y, "J")
End If
Next y
Cells(x, "F") = Inspection
Cells(x, "G") = Witness
Cells(x, "H") = (Witness/Inspection) * 100
Inspection = 0
Witness = 0
Next x
End Sub
你在哪一行得到错误? – Sam
'x'和'y'完全没有定义。其最佳做法是明确使用选项显式和定义变量类型。 –
“Cells(counter,”H“)。Value =(witnessSum/ICbyCrew)100” - Line 34 – Adeeb