ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 494|回复: 1

[分享] VBA代码行号添加删除助手

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-1-13 14:35 | 显示全部楼层 |阅读模式
主要功能:
    免费操作Excel VBE,给VBA里面的代码添加行号、删除行号。一般人用得不多。



使用场景:
    VBA代码要加密码或者打包exe发他人使用,但是他人报错又不知道哪里报错。这个时候添加代码行号,添加容错处理代码,即可知道是哪行代码出现问题,知道大概原因。


过程行首添加
  1. On Error GoTo ErrorHandler
复制代码
过程末尾添加
  1. ErrorHandler:
  2.     MsgBox "某某过程出错,错误代码:" & Err.Number & "  错误描述:" & Err.Description & "   程序代码行号:" & Erl
复制代码


然后使用行号助手,批量给你的过程添加行号,报错时就能准确知道是哪句代码发生错误。

开发原因:
      自己的一些VB6代码,打包exe发给他人使用,他人报错,又不肯把数据发我检查是哪里出错。
想着添加行号,程序出错时就直接弹窗是哪行代码出现问题,直接知道出错的原因是哪些数据。网上搜了一圈,没有找到合适给VB6使用的,就转而考虑VBA中操作添加行号,完成后再复制到VB6中。
      
      然后安装了一些免费、收费的VBE插件,发现有些写着删除行号,但是不生效,有些也没有添加行号的功能。只能自己找找资料打磨一个简陋的用用。


技术不足,无法直接添加到VBE窗口,期待哪位高人提供技术帮助。


开发原理:

参考来源
http://club.excelhome.net/thread-947533-1-1.html

https://club.excelhome.net/thread-883006-3-1.html


循环工作簿,循环VBE的对象获取模块、窗体等名称,循环模块或窗体内的过程。


通过字符串拆分,字符串规则,判断是否sub过程、函数等,取得过程的开始行位置。


循环拆分出的数组,获得end sub 等末行位置。


循环过程开始行、结束行所在数组位置,添加行号到代码。


完成后,重新将数组join连接,代码写回模块。


为了避免意外,每次操作时,自动引出模块代码到程序所在文件夹中保存备份。

vba行号助手.gif


使用方法:
先打开宏表格(暂时不支持.xlam),然后运行程序,手动开启信任VBA工程访问,选择文件夹、模块、过程,按需选择添加行号、删除行号即可。


image.png



工具下载
VBA行号助手.zip (36.67 KB, 下载次数: 25)

VB6编写打包,不排除部分杀毒工具误报。

TA的精华主题

TA的得分主题

发表于 2024-1-13 15:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 09:28 , Processed in 0.029639 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表