[英]Receiving Compile Error: Invalid qualifier on Range Object
我在以下代码的倒数第二行收到错误消息“编译错误:无效的限定符”。
Dim Init_Range() As Range
Dim Init_Mod_Range() As Range
Init_Range = Sheets("Sheet1").ListObjects("Table1").ListColumns(9).DataBodyRange
Init_Mod_Range = Sheets("Sheet1").ListObjects("Table1").ListColumns(8).DataBodyRange
Init_Range.Select
Selection.Clear
我确信我能够选择一个范围,因为如果我切换到下面的代码行,它就可以工作。
Sheets("Sheet1").ListObjects("Table1").ListColumns(9).DataBodyRange.Select
Selection.Clear
谁能告诉我为什么将范围分配给变量会破坏代码? 也许我应该使用不同的变量类型? 任何帮助将不胜感激。
添加集
Set Init_Range = Sheets("Sheet1").ListObjects("Table1").ListColumns(9).DataBodyRange
Set Init_Mod_Range = Sheets("Sheet1").ListObjects("Table1").ListColumns(8).DataBodyRange
处理对象引用时需要使用Set,处理简单数据类型时可以使用=进行赋值,但范围和工作表等对象需要Set。
此外,我认为您在声明 Init_Range 时不需要 (),这将声明一个范围数组,看来您只希望它是一个范围。
在您可以使用 .Select 或其他变体之前,需要先设置 ListObjects 和 Ranges 等对象变量:
Set Init_Range = Sheets("Sheet1").ListObjects("Table1").ListColumns(9).DataBodyRange
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.