EXCEL VBA运行时出现1004错误,如何修改?
DimrownumAsIntegerDimrownum1AsIntegerrownuml=lDoWhilerownuml<10000IfSheets("调整分录").Ce...
Dim rownum As Integer
Dim rownum1 As Integer
rownuml = l
Do While rownuml < 10000
If Sheets("调整分录").Cells(rownuml, l) = "" Then
Sheets("调整分录").Cells(rownum1, l) = rownuml - 2
rownuml = rownum1 - 2
Exit Do
Else
rownuml = rownuml + l
End If
Loop
For i = 1 To rownuml
rownum = 6
Do While rownum < 51
If Sheets("调整分录").Cells(i + l, 2) = Sheets("汇总资产负债表").Cells(rownum, 1) Then
Sheets("汇总资产负债表").Cells(rownum, 7) = Sheets("调整分录").Cells(i + l, 3) + Sheets("汇总资产负债表").Cells(rownum, 7)
End If
If Sheets("调整分录").Cells(i + 1, 4) = Sheets("汇总资产负债表").Cells(rownum, l) Then
Sheets("汇总资产负债表").Cells(rownum, 8) = Sheets("调整分录").Cells(i + l, 5) + Sheets("汇总资产负债表").Cells(rownum, 8)
End If
rownum = rownum + 1
Loop
Next i
运行到if语句时出现1004错误 怎么改呀 展开
Dim rownum1 As Integer
rownuml = l
Do While rownuml < 10000
If Sheets("调整分录").Cells(rownuml, l) = "" Then
Sheets("调整分录").Cells(rownum1, l) = rownuml - 2
rownuml = rownum1 - 2
Exit Do
Else
rownuml = rownuml + l
End If
Loop
For i = 1 To rownuml
rownum = 6
Do While rownum < 51
If Sheets("调整分录").Cells(i + l, 2) = Sheets("汇总资产负债表").Cells(rownum, 1) Then
Sheets("汇总资产负债表").Cells(rownum, 7) = Sheets("调整分录").Cells(i + l, 3) + Sheets("汇总资产负债表").Cells(rownum, 7)
End If
If Sheets("调整分录").Cells(i + 1, 4) = Sheets("汇总资产负债表").Cells(rownum, l) Then
Sheets("汇总资产负债表").Cells(rownum, 8) = Sheets("调整分录").Cells(i + l, 5) + Sheets("汇总资产负债表").Cells(rownum, 8)
End If
rownum = rownum + 1
Loop
Next i
运行到if语句时出现1004错误 怎么改呀 展开
3个回答
展开全部
出现问题的原因大概就是拼写错误,现在修改如下
Option Explicit '这个代码强制要求变量必须定义,可以进行基本的拼写检查
Sub 调试()
Dim rownum As Integer
Dim rownum1 As Integer
Dim i As Integer
rownum1 = 1 '注意L和数字1的拼写是否有错
Do While rownum1 < 10000
If Sheets("调整分录").Cells(rownum1, 1) = "" Then
Sheets("调整分录").Cells(rownum1, 1) = rownum1 - 2
rownum1 = rownum1 - 2
Exit Do
Else
rownum1 = rownum1 + 1
End If
Loop
For i = 1 To rownum1
rownum = 6
Do While rownum < 51
If Sheets("调整分录").Cells(i + 1, 2) = Sheets("汇总资产负债表").Cells(rownum, 1) Then
Sheets("汇总资产负债表").Cells(rownum, 7) = Sheets("调整分录").Cells(i + 1, 3) + Sheets("汇总资产负债表").Cells(rownum, 7)
End If
If Sheets("调整分录").Cells(i + 1, 4) = Sheets("汇总资产负债表").Cells(rownum, 1) Then
Sheets("汇总资产负债表").Cells(rownum, 8) = Sheets("调整分录").Cells(i + 1, 5) + Sheets("汇总资产负债表").Cells(rownum, 8)
End If
rownum = rownum + 1
Loop
Next i
End Sub
Option Explicit '这个代码强制要求变量必须定义,可以进行基本的拼写检查
Sub 调试()
Dim rownum As Integer
Dim rownum1 As Integer
Dim i As Integer
rownum1 = 1 '注意L和数字1的拼写是否有错
Do While rownum1 < 10000
If Sheets("调整分录").Cells(rownum1, 1) = "" Then
Sheets("调整分录").Cells(rownum1, 1) = rownum1 - 2
rownum1 = rownum1 - 2
Exit Do
Else
rownum1 = rownum1 + 1
End If
Loop
For i = 1 To rownum1
rownum = 6
Do While rownum < 51
If Sheets("调整分录").Cells(i + 1, 2) = Sheets("汇总资产负债表").Cells(rownum, 1) Then
Sheets("汇总资产负债表").Cells(rownum, 7) = Sheets("调整分录").Cells(i + 1, 3) + Sheets("汇总资产负债表").Cells(rownum, 7)
End If
If Sheets("调整分录").Cells(i + 1, 4) = Sheets("汇总资产负债表").Cells(rownum, 1) Then
Sheets("汇总资产负债表").Cells(rownum, 8) = Sheets("调整分录").Cells(i + 1, 5) + Sheets("汇总资产负债表").Cells(rownum, 8)
End If
rownum = rownum + 1
Loop
Next i
End Sub
展开全部
问题的关键应该是:
起始设置 rownuml =l 中的这个 l 没有定义起始值,所以 DO 循环中的循环条件 Sheets("调整分录").Cells(rownuml, l) = "" 中如果 l = 0 ,出现报错就很正常了!
建议楼主明确定义 rownuml =l 中的 l 值!
起始设置 rownuml =l 中的这个 l 没有定义起始值,所以 DO 循环中的循环条件 Sheets("调整分录").Cells(rownuml, l) = "" 中如果 l = 0 ,出现报错就很正常了!
建议楼主明确定义 rownuml =l 中的 l 值!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你最好在代码开头加上Option Explicit强制显式声明模块中的所有变量。
上面代码的第七行rownuml = rownum1 - 2是不是拼写错了。rownuml变成负数的话,自然报错。
上面代码的第七行rownuml = rownum1 - 2是不是拼写错了。rownuml变成负数的话,自然报错。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询