当前位置: 首页 > news >正文

如何学习VBA_3.3.3 VBA程序写好后,如何进行调试,直到程序运行

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。

如果您只是一般的职场VBA需求,可以打包选择7.1.3.9教程+汉英手册,第7套教程是入门,第1套教程是入门后的提高,第3套教程字典是必备的VBA之精华,第9套教程是实用的典型案例讲解。这四套教程内容掌握后足以处理一般工作中的问题,实际写代码的时候再辅助代码汉英手册,足矣!如果您想进一步提高,就需要选择高级阶段的教程了

VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是如何学习VBA_3.3.3 VBA程序写好后,如何进行调试,直到程序顺利运行

【分享成果,随喜正能量】142 一个人的气质,并不在容颜和身材,而是所经历过的往事,是内在留下的印迹,令人深沉而安谧。所以,优雅是一种阅历的凝聚;淡然是一段人生的沉淀。时间会让一颗灵魂,变得越来越动人。控制自己的脾气,做一个有修养的人。。

3.3.3 VBA程序写好后,如何进行调试,直到程序顺利运行

《VBA代码解决方案》的教程,我贯彻了一种搭积木的编程思路,147讲就相当于147块积木,你有了这些积木,把每块放在合适的位置,来构建你的工程。例如要搭建一处住宅,那么这些积木,有的是管上下水的,有的是管电路的,有的是管气温调节的。当房子建好后,我们首先要测试这些积木是否达到了我们的要求,这个时候就是程序调试了。不是每个程序写完后都能马上正常运行的,有的调试过程很快,有的会时间长些,有的甚至会推倒重来。

什么是程序调试呢?就是编制的程序在投入实际运行前,要进行的测试。测试过程包括修正语法错误和逻辑错误。这是保证程序正确性的必不可少的步骤。对测试时所发现的错误,要进行诊断,找出原因和具体的位置进行修正,从而完善程序。说的直白些,就是说你的房子搭建好后,在你搬家之前进行的综合检验。

一 程序调试的内容:程序调试的范围较广,一般包括如下几个方面:

1语法错误的检验:每一种语言都有自己的语法习惯,你写的代码必须要符合这些规范,而且是必须的。错一丝一毫也通不过。比如半角、全角;参数是否传递正确,是否有相应的属性等等。

2 运行过程的检验:语法通过了,仅是第一步,在运行过程中还会检验很多内容:如循环是否是闭合的,with语句是否是闭合的,参数的定义范围是否有问题,数组的上下标是否越界等等。

3 实际结果的检验:上面的第一第二都通过了,程序开始正常的运行,但运行的结果不一定是你期望的结果。这就要考虑是哪里的问题了。

4 程序优化的检验,如果结果和你的预想一致,那么是否就说明程序完美了?不是的,还要有程序的优化问题,包括:代码可读性是否强;占用的内存是否最少;运行时间是否最短;可视效果是否最佳。

二 代码调试的原则:

1 分析与错误征兆有关的信息。

2 调试的过程也是自己再学习的过程。

3 修改错误的同时应避免产生新的错误。

三 代码调试的方法

1 代码写完后要再次阅读。要最大限度地减少书写的错误。所以我推荐大家利用《VBA代码解决方案》,鼓励大家去复制,粘贴,修改代码,而不是录入代码。

2 在大脑中模拟运行,这个过程十分关键。要让代码在你的大脑中先运行,看运行的步骤,哪个过程先执行,哪个后执行,数据怎么进行查找等等,这个过程也是检查你写代码的逻辑是否严谨。

3 分过程小范围调试,上述的步骤之后,开始真正的调试了,要先小范围的调试,看看数值的关系是否正确。充分利用语句的中断符,msgbox对话框, 临时参数等等

4 总体的测试,小范围测试没问题后,开始执行大范围的测试。这个时候主要看最终的执行结果了,这个时候要设置特殊值来校验,不要一开始就执行几千几万的数据,要从几行开始。根据我的经验,一般出现问题常在一首一尾,所以要重视首尾的数据运行结果。如果与自己大脑的设想结果全然不符,就要检查你编程的逻辑了。

5 数据的追踪。当出现了非预期的数值或者现象的时候,要知道如何去追踪数据,这里就靠自己的经验了,但仍要注意语句的中断符,msgbox , 临时参数的利用。

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:



相关文章:

  • 数据结构—(链表,栈,队列,树)
  • 重生之我是CSDN大佬
  • 在VirtualBox中安装虚拟机后不能全屏显示的问题及解决办法
  • 从零实现一个高并发内存池 - 1
  • [ctfshow web入门] web72
  • Linux精确列出非法 UTF-8 字符的路径或文件名
  • logback 日志归档,解决主日志和归档日志分别定义不同的周期
  • EXCEL Python 实现绘制柱状线型组合图和树状图(包含数据透视表)
  • Redis Cluster 集群搭建和集成使用的详细步骤示例
  • 获取accesstoken时,提示证书解析有问题,导致无法正常获取token
  • NumPy 2.x 完全指南【十】基础索引
  • 网络协议与系统架构分析实战:工具与方法全解
  • 五大静态博客框架对比:Hugo、Hexo、VuePress、MkDocs、Jekyll
  • 聊天项目总结
  • 多边形,矩形,长方体设置
  • livenessProbe 和 readinessProbe 最佳实践
  • 函数加密(Functional Encryption)简介
  • Postgresql与openguass对比
  • WiFi密码查看器打开软件自动获取数据
  • 开发者版 ONLYOFFICE 协作空间:3.1版本 API 更新
  • A股三大股指涨跌互现:银行股领涨,两市成交12915亿元
  • 威尼斯建筑双年展总策划:山的另一边有什么在等着我们
  • 应急部:正在积极推动各地逐步科学建设改造应急避难场所
  • A股三大股指集体高开
  • “科创板八条”后百单产业并购发布,披露交易金额超247亿
  • 视频丨雄姿英发!中国仪仗队步入莫斯科红场