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错误 怎么改呀
展开
 我来答
xiuxiu8256
2012-12-15
知道答主
回答量:17
采纳率:0%
帮助的人:14.1万
展开全部
出现问题的原因大概就是拼写错误,现在修改如下
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
madmlwt
2012-12-15 · TA获得超过238个赞
知道小有建树答主
回答量:292
采纳率:100%
帮助的人:225万
展开全部
问题的关键应该是:
起始设置 rownuml =l 中的这个 l 没有定义起始值,所以 DO 循环中的循环条件 Sheets("调整分录").Cells(rownuml, l) = "" 中如果 l = 0 ,出现报错就很正常了!
建议楼主明确定义 rownuml =l 中的 l 值!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4826b3c
2012-12-14 · TA获得超过5025个赞
知道大有可为答主
回答量:2999
采纳率:96%
帮助的人:1324万
展开全部
你最好在代码开头加上Option Explicit强制显式声明模块中的所有变量。
上面代码的第七行rownuml = rownum1 - 2是不是拼写错了。rownuml变成负数的话,自然报错。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式