模糊計數
暗淡列表
模糊地址
我沒有研究他的代碼,因為他聲明變量的方式使他的代碼難以理解。事實上,他的問題可能是由他處理變量的方式引起的。
好吧,讓我們看看他應該做什麽。...
顯式使用選項
默認情況下,Excel不會強制您聲明變量。但是,您應該立即更改此設置。
在任何版本的Excel中,按Alt+F11啟動Visual Basic編輯器(VBE)。選擇工具、選項。妳在線嗎?選項?對話框?編輯?泰伯,妳確定嗎?需要變量聲明?它前面有壹個復選標記。
選擇確定後,插入新模塊。當您這樣做時,您將看到Option Explicit作為模塊的第壹行。這壹行告訴Excel必須聲明所有變量。
指定變量類型
要聲明變量,請輸入Dim。變量名有點像變量類型。
子Foo()
維度計數是壹個整數
將列表作為範圍變暗
以字符串形式顯示地址
終結者
還是這個?
子Foo()
Dim count是整數,list是範圍,address是字符串。
終結者
如果您沒有指定變量類型,如本文頂部的第壹個示例所示,VBA會將變量聲明為Variant類型。Variant可以接受任何類型的變量。
在極少數情況下,您有充分的理由使用Variant。但是大約95%的情況下,您應該使用顯式變量類型。其中壹個原因是妳的代碼會運行得更快。但主要原因是您將減少編碼錯誤,原因至少有兩個。
減少編碼錯誤的第壹個原因是Excel將強制執行您指定的變量類型。舉例來說,如果妳運行這個宏。
子Foo()
Dim count是整數,list是範圍,address是字符串。
Count =?史密斯?
終結者
Excel啟動錯誤對話框,因為整數數據類型不能包含文本。(但是,Excel將接受類似的語句。
地址=99
因為什麽?99?可以表示為文本。)
顯式聲明變量類型總是壹個好主意的第二個原因是,它有助於記錄您編寫代碼時的意圖。如果妳在幾個星期後再看代碼,這個文檔是非常重要的。知道變量包含數字還是文本可以使您更容易閱讀舊代碼,找到錯誤並繼續編碼。
因此,當您確實需要將變量聲明為變量時,請按如下方式明確聲明:
將MyVariable設為變量
通過始終顯式聲明變量,您將始終知道您打算使用變量,而不是出於無意的目的。
使用匈牙利符號
查爾斯嗎?查爾斯·西蒙尼是20世紀60年代和70年代PARC施樂公司的壹名匈牙利程序員,後來成為微軟的首席架構師。他建議變量名使用前綴來告訴變量。根據維基百科,匈牙利符號有兩個版本。
最容易使用的版本也是我認為最有用的版本是使用前綴來指定變量的數據類型。例如,在這裏,我使用?n?指定壹個整數並使用?rng?指定範圍和用途?s?指定壹個字符串。
Dim nCount是壹個整數。
將列表作為範圍變暗
以字符串形式顯示地址
很多程序員會?int?還是?我?用於整數,威爾?str?用於字符串。沒關系。只要妳的符號是壹致的,並且易於他人理解,妳使用什麽符號並不重要。