小白请教各位大神VBA这段代码应该怎么修改?

想要达到在val4下方插入对应的nn行数,直到最后一行。目前行高20,代码只运行到20行后,下面的就不会再进行匹配插入了。插入后重新获取行高的代码应该怎样写?
2026年09月25日 08:55
有1个网友回答
网友(1):

循环有问题。如图红色部分:

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