Excel VBA在輸入對象后不提示屬性的解決方法

在我們寫VBA代碼時,對象能否自動彈出方法或屬性,會影響到到代碼的效率。

以下面的代碼為例:

第一段代碼在輸入『.』后自動彈出方法屬性列表

第二個截圖在輸入『.』不自動彈出方法屬性列表

這種情況,會是大多數初學者的疑惑。

原因是看計算機能不能識別對象形態,如果能識別,在輸入『.』會自動彈出,否則無法自動彈出。

圖一,已經聲明c為range對象(單元格或者單元格區域),計算機只能把c識別為range對象。

圖二,沒有聲明變數,因為worksheets()可返回的對象,有好幾種,只有Object、Variant能用來定義該項屬性(Item)的對象型態,供Item返回多種不盡同類的物件給worksheets。其對象或者父對象為非明確形態的對象,所以計算機無法識別。

Advertisements

如果想要讓對象自動彈出方法或者屬性,必須先要聲明變數。在編碼過程中有的時候,為了少寫幾句代碼,會忽略聲明變數,而導致這樣的疑惑。

以上就是VBA在輸入對象后不提示屬性的原因。

針對VBA代碼,是否有必要強制聲明變數,圈內各種聲音都有,有的支持,有的反對。

具體情況還要結合自己的邏輯能力和對代碼的熟悉程度來看待是否有必要強制聲明變數。

有的同學說最近寫的都是VBA相關,接受起來有點難度,具體關於函數和圖表的知識可在公眾號主頁下方查看歷史消息。ID:data--tech.

Advertisements

你可能會喜歡