| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 23 人关注过本帖
标题:把表变量设置为worksheet和object 有什么区别?
只看楼主 加入收藏
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:768
专家分:2517
注 册:2011-5-8
结帖率:100%
收藏
 问题点数:10 回复次数:2 
把表变量设置为worksheet和object 有什么区别?
把表变量设置为worksheet和object 有什么区别?
图片附件: 游客没有浏览图片的权限,请 登录注册

当把ws 设置为worksheet时,从来没有出过错,但是用UsedRnage重置已经使用过的区域时,只能设置为对象。
Dim ws As Object就不出错了。
搜索更多相关主题的帖子: Dim 出错 区别 object 变量 
9 小时前
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:255
专家分:1910
注 册:2023-6-29
收藏
得分:0 
编译时和运行时问题, object只能到运行时才能判断是否使用错了, 编译不会检查错误, 而明确为worksheet后, 单独一句ws.UsedRange这样的用法是错误的, 所以编译时给你提示出来了, 这样可以预先避免很多错误, 所以定义变量尽量使用类型明确的定义

以下是引用xuminxz在2025-1-21 13:15:34的发言:

按你的说法应该用WOrkSheet不出错,它是比object更明确的定义啊。实际上,用了Object没有出错,结果正常。


结果正常, 不一定就是推荐的写法, ws.UsedRange 这句是毫无意义的, 属于画蛇添足, 所以编译不过, 假设你把这句写成  ws.UseRange, ws如果定义为object那么编译就检查不出来, 如果定义为worksheet,那编译就能检查出来

[此贴子已经被作者于2025-1-21 15:45编辑过]

7 小时前
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:768
专家分:2517
注 册:2011-5-8
收藏
得分:0 
回复 2楼 yiyanxiyin
按你的说法应该用WOrkSheet不出错,它是比object更明确的定义啊。实际上,用了Object没有出错,结果正常。

[此贴子已经被作者于2025-1-21 13:16编辑过]


dBase有人接盘了。
7 小时前
快速回复:把表变量设置为worksheet和object 有什么区别?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017867 second(s), 11 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved