循环有问题。如图红色部分:
1,m是循环变量,不要在循环体内用其他计算方法去改变它,很容易出错。应该另外设立一个变量,比如k
2,h1是循环终值,随着行数增加,这个终值应该增加
3,变量k在小循环后也应该自增一次,才能切换到大循环。
另外,如图蓝色部分,不用每次开关一次数据库,会给数据库带来很大压力。
包括dim声明变量也不用在循环体内反复申明。
按蓝色内容把语句移一下位置。
我不妨给你举一个标准的例子:
Sub test()
start_row = 2
end_row = 11
current_row = start_row
For i = start_row To end_row
For j = 1 To 3
current_row = current_row + 1
Rows(current_row).Insert xlUp
end_row = end_row + 1
Next
current_row = current_row + 1
Next
End Sub