[英]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.