VBA,为什么会溢出?

[复制链接]
查看11 | 回复5 | 2015-7-28 07:58:50 | 显示全部楼层 |阅读模式
Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),实际上VBA是寄生于VB应用程序的版本。微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功能。由于你代码中的n=inputbox()的值是文本类型的,所以它while(...
回复

使用道具 举报

千问 | 2015-7-28 07:58:50 | 显示全部楼层
我分析可能是这个原因:一个循环语句中,步长Step的数据类型与循环变量相同,-1已经在超出了Byte的数值范围。...
回复

使用道具 举报

千问 | 2015-7-28 07:58:50 | 显示全部楼层
这个是因为前面的删掉了导致后面的就会补上来,越删越少,在删除第11个时(item=11),Range(11:11)就已不存在了。这个应该从后面往前面删。...
回复

使用道具 举报

千问 | 2015-7-28 07:58:50 | 显示全部楼层
前面的删掉了,后面的就会补上来,越删越少,所以,在删除第11个时(item=11),Range(11:11)就已经不存在了。所以,应该从后面往前面删。...
回复

使用道具 举报

千问 | 2015-7-28 07:58:50 | 显示全部楼层
byte的问题,改成interger就好了!byte没-1的。一定要用byte的话,如下:Sub b3()Dim item As ByteFor item = 1 To 20Range(21-item & ":" & 21-item).DeleteNextEnd Sub...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行