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

想要达到在val4下方插入对应的nn行数,直到最后一行。目前行高20,代码只运行到20行后,下面的就不会再进行匹配插入了。插入后重新获取行高的代码应该怎样写?... 想要达到在val4下方插入对应的nn行数,直到最后一行。目前行高20,代码只运行到20行后,下面的就不会再进行匹配插入了。插入后重新获取行高的代码应该怎样写? 展开
 我来答
帐号已注销
科技发烧友

2022-04-04 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2018
采纳率:0%
帮助的人:947万
展开全部

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

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

更多追问追答
追问

按照您说的修改后nn所代表的插入行数全部插入到第三行了,而且看结果还是只执行到h1识别的行数——20行,后面的数据没有再进行插入操作,接下来我应该怎么改?

追答

不好意思,k=2的位置我标错了。应该在第一个循环外面。

另外,你那个if什么目的?应该不需要吧。

不要for p= 0 to nn,直接 for p= 1 to nn不就可以了? 

AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式