VBA 对excel操作 类型不匹配 下面改怎么改

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:12:21
本人刚看了vb1小时不到 所以比较菜
知道的指点下 谢谢

Sub main()
Call work
End Sub
Private Sub work()
Dim i As Integer
Dim m As Integer
For i = 2 To 138
For m = 2 To 55
Cells((i - 1) * 55 + m, "E") = Cells(m, "E").Value
Cells((i - 1) * 55 + m, "F") = Cells(i, "A").Value + Mid(Cells(i, "f").Value, 2)
Cells((i - 1) * 55 + m, "G") = Cells(i, "B").Value + Mid(Cells(m, "G").Value, 3)
Cells((i - 1) * 55 + m, "H") = Cells(m, "H").Value
Next m
Next i

End Sub
原来是把
Cells((i - 1) * 55 + m, "F") = Cells(i, "A").Value + Mid(Cells(i, "f").Value, 2)
Cells((i - 1) * 55 + m, "G") = Cells(i, "B").Value + Mid(Cells(m, "G").Value, 3)
改成
Cells((i - 1) * 55 + m, "F") = Cells(i, "A").Value & Mid(Cells(i, "f&qu

两个都测试过,能运行切没有错误,
但表格中什么也没有,

Cells参数应为数字,而不是字母,所以相应修改即可。
代码如下。
================
Sub main()
Call work
End Sub
Private Sub work()
Dim i As Integer
Dim m As Integer
For i = 2 To 138
For m = 2 To 55
Cells((i - 1) * 55 + m, 5) = Cells(m, 5).Value
Cells((i - 1) * 55 + m, 6) = Cells(i, 1).Value + Mid(Cells(i, 6).Value, 2)
Cells((i - 1) * 55 + m, 7) = Cells(i, 2).Value + Mid(Cells(m, 7).Value, 3)
Cells((i - 1) * 55 + m, 8) = Cells(m, 8).Value
Next m
Next i

End Sub