|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Sub test()
Dim rg as Range
For Each rg In Selection
rg = Left(rg, 5)
Next
End Sub
这个代码可以操作,当然确实是因为采用了Dim rg as range 的纠正方法。
但这个并非Dim的正确用法,而是因为有了以下的错误处理:
For Each rg In Selection
rg = Left(rg, 5)
本来rg是Selection中的元素,只能读取rg属性。
当发生 = 命令强制给予赋值时,
微软工程师经过检查发现rg已被定义为Range类型,
于是试用Range属性中的 Range.Value,即:
rg.Value = Left(rg, 5) …… 结果成功,于是代码继续。
…………
因此,在本例中使用了Dim,然后 rg = Left(rg, 5)
这个和不使用Dim ,然后 rg.Value = Left(rg, 5) 根本就是一回事。
只不过是显式命令和 后台微软默认选项之间的差异。
…………
从这个角度上看,
不Dim rg而直接使用rg.Value = Left(rg, 5)
反而要比 先Dim rg as Range 然后使用 rg = Left(rg, 5) 更为正确。
呵呵。
|
评分
-
2
查看全部评分
-
|