
excel vba 在运行时出现编译错误
PrivateSubCommandButton1_Click()DimtempxAsIntegerDimtempyAsIntegerDimtempcountAsInteg...
Private Sub CommandButton1_Click()
Dim tempx As Integer
Dim tempy As Integer
Dim tempcount As Integer
tempcount = 3
tempy = 4
While (Not IsEmpty(Sheets("员工工资信息管理").Cells(tempcount, 1).Value))
tempx = 1
While (Not IsEmpty(Sheets("员工工资信息管理").Cells(2, tempx).Value))
Sheets("员工工资单").Cells(tempy, tempx).Value = Sheets("员工工资信息管理").Cells(2, tempy).Value
Sheets("员工工资单").Cells((tempy + 1), tempx).Value = Sheets("员工工资信息管理").Cells(tempcount, tempx).Value
tempx = tempx + 1
Wend
tempy = tempy + 2
tempcount = tempcount + 1
Wend
CommandButton2.Enabled = True
End Sub ------------以上这组代码 ,才开始写出来的时候运行成功了,后来就出现了问题。“运行时错误‘9‘ ,下标越界”。第九行不晓得哪里出现了问题~麻烦知道的解答下~ 展开
Dim tempx As Integer
Dim tempy As Integer
Dim tempcount As Integer
tempcount = 3
tempy = 4
While (Not IsEmpty(Sheets("员工工资信息管理").Cells(tempcount, 1).Value))
tempx = 1
While (Not IsEmpty(Sheets("员工工资信息管理").Cells(2, tempx).Value))
Sheets("员工工资单").Cells(tempy, tempx).Value = Sheets("员工工资信息管理").Cells(2, tempy).Value
Sheets("员工工资单").Cells((tempy + 1), tempx).Value = Sheets("员工工资信息管理").Cells(tempcount, tempx).Value
tempx = tempx + 1
Wend
tempy = tempy + 2
tempcount = tempcount + 1
Wend
CommandButton2.Enabled = True
End Sub ------------以上这组代码 ,才开始写出来的时候运行成功了,后来就出现了问题。“运行时错误‘9‘ ,下标越界”。第九行不晓得哪里出现了问题~麻烦知道的解答下~ 展开
1个回答
2013-07-20
展开全部
不知道具体表格的结构是啥,但按常理推断,员工工资信息管理的表中,员工应该是竖向排列的,你需要的信息应该是在一列中而不是一行中,这样的话Cells(2, tempx).Value是不是应该改为 Cells( tempx,2).Value。 cells 和 range 的参数正好是相反的,RANGE(列行) CELLS(行,列)希望对你有帮助。另外请检查其他位置的CELLS()是不是你想要的结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询