首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在使用VBA编程时可以避免的3个错误

Microsoft,Excel已经是一个非常强大的数据分析工具,但它可以通过在(VBA)中编写简单的代码来自动执行重复的宏任务,而(VBA)功能更强大。但是,如果使用不当,VBA会导致许多问题。即使您不是程序员,VBA也提供了简单的功能,允许您向电子表格添加一些非常令人印象深刻的功能,所以不要离开!无论您是VBA的高手,还是在Excel中创建仪表盘的新手,还是只知道如何编写简单脚本来执行基本单元计算的新手,您都可以使用简单的编程技术,这将帮助您提高编写清晰和书面文档的机会。无错误代码。VBA简介。如果您以前没有在Excel中用VBA编程,那么启用开发人员工具实际上非常简单。只需转到文件“>”选项,然后转到自定义功能区域。只需将developer命令组从左窗格移到右窗格。

确保启用该复选框,并且Excel菜单中将显示现在开发者选项卡。

此时,进入“代码编辑器”窗口的最简单方法是单击“开发人员”菜单中“控件”下的“视图、代码”按钮。1。糟糕的变量名现在您已进入“代码”窗口,现在是开始写入VBA代码的时间。在大多数程序中,无论是VBA还是任何其他语言,第一步都是定义变量。在我的几十年编码过程中,当涉及到变量命名约定时,我遇到了许多思想流派,很难学习到一些东西。以下是创建变量名的快速提示:让它们尽可能短。使其尽可能具有描述性。使用变量类型(布尔值、整数等)作为前缀。请记住使用正确的范围。这是一个程序的屏幕截图示例,我经常用它从Excel、Windows调用WMIC来收集PC信息。

当您想在模块或对象内的任何函数中使用变量时(我将在下面解释),您需要使用Public声明声明,将其声明为“公共”变量。.否则,变量通过在其前面加上单词Dim来声明。如您所见,如果变量是整数,则以int开头。如果变量是字符串,则以str开头。这有助于您在编程时使用它,因为您只需要浏览名称就可以知道变量中包含的数据类型。您还将注意到,如果有一个类似于包含计算机名称的字符串,则该变量称为strcomputername。避免创建只有您才能理解的非常复杂或混淆的变量名。让其他程序员更容易跟随您并理解这一切的含义!人们犯的另一个错误是将工作表的名称保留为默认的“Sheet1”、“Sheet2”…这进一步增加了程序的混乱。相反,命名表单是有意义的。

这样,当您在Excel中引用工作表名称VBA代码时,您的意思是一个有意义的名称。在上面的例子中,我有一个输入网络信息的表单,所以我称之为“网络”。+在代码现在中,每当我想引用一个网络表时,我可以快速完成它,而不必查找它的表单号。2。打破循环而不是循环。新程序员在开始编写代码时遇到的最常见的问题之一是正确地处理循环。因为许多使用Excel、VBA的人是新编码的,坏循环是流行的。循环在Excel中非常常见,因为数据值通常在整行或整列中处理,所以所有这些值都需要在循环中处理。当特定条件为真时,新程序员通常希望立即突破循环(For循环或while appearance)。

您可以忽略上述代码的复杂性,只需注意,在内部if语句中,如果条件为真,则可以选择退出For循环。这是一个简单的例子:,For,x,,1,to,20,if,x,,6,Then,Exit,For,y,,x,,introomtempnext,i新程序员采用这种方法是因为它很容易。当一个条件发生时,当你等待退出循环时,立即跳出循环的诱惑是强烈的,但不要这样做。通常,在“中断”之后出现的代码对于处理很重要,甚至是在退出之前的最后一个循环。处理要中途退出循环的条件的一种更干净、更专业的方法是将退出条件包含在类似于white语句的内容中。While,(x>,1,AND,x6),For,x,+1,to,20,y,,x,intRoom温度,Next,iwend这允许代码的逻辑流,其中x在最后一次运行时为5,然后计数为6时以正常退出。循环中不需要包含笨拙的exit或break命令。三。不要使用数组。新的VBA程序员犯的另一个有趣的错误是试图处理在计算过程中过滤行和列的无数嵌套循环中的所有事情。虽然这是可行的,但是如果您经常需要对同一列中的同一个数字执行相同的计算,它也可能导致严重的性能问题。编程不仅繁琐,而且处理器的杀手每次都要遍历列并提取值。处理长数值列表的一种更有效的方法是使用数组。如果您以前从未使用过数组,请不要担心。把阵列想象成冰架

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190725A0QDMH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券