chatgpt写的代码为什么不能用 我让ChatGPT写了一段代码,结果却尴尬了…

AI资讯1年前 (2023)发布 fengdao
27 0

最近可是火爆全网,大家都在探索,想看看它究竟能干些什么。我尝试给提了个问题,要求写一段VBA代码,根据Excel表的A、B列来判断是否是重复行,并删除重复行。很快就给出了答案,但是结果却尴尬了…

我把给出的代码放到Excel表中验证,看看哪里有问题。

示例数据

准备以下示例数据。

用html代码写个性签名_用java写计算器的代码_chatgpt写的代码为什么不能用

测试代码

在Excel中按Alt+F11,打开代码编辑器,复制给出的代码并粘贴到新建的代码模块中。

我们运行一下代码,查看效果,结果发现,部分重复行没有被删除!

哪里出了问题

其实这是因为给出的代码中有点bug。在使用VBA代码循环删除行时,需要从最后一行倒着往上删除,否则的话循环过程中可能会漏掉某些行。

按照给出的示例数据,当查找到第3行时,找到重复行,然后执行删除,本次循环结束,变量i就变成了4,也就是下次是判断第4行是否是重复行。问题就在于,代码删除了1行,原来的第4行实际上就变成了第3行。这时代码再去检查第4行,事实上就跳过了原来的第4行(现在已变成第3行)。

用html代码写个性签名_用java写计算器的代码_chatgpt写的代码为什么不能用

其实我们稍加修改,代码还是可以用的。就是将以下代码

For i = 2 To

更改为

For i = To 2 Step -1

这句代码的意思是是从大到小进行循环,“Step -1”就表示每循环一次变量的值就减1,从而也就是实现了从最下面的行倒着往上去依次判断是否有重复行。

修改后的代码

修改后的完整代码如下。

总的来说,瑕不掩瑜,我们可以看到代码比较工整,变量命名也有代表意义,而且还具备注释,是一份比较完整的代码。所以只要我们具备了一定的编程知识,使用AI辅助,确实能节省很多时间。关注微信公众号“Excel轻松学”,期待将来有更多的发现!

© 版权声明

相关文章

暂无评论

暂无评论...