InputBox函式與InputBox方法

【分享成果,隨喜正能量】夜色難免黑涼,前行必有曙光。在心裡種花,人生才不會荒蕪。距離不是問題,相向而行才是關鍵。在該奮鬥的歲月裡,對得起每一寸光陰。於高山之巔,方見大河奔湧於群峰之上,更覺長風浩蕩。。

《VBA程式碼解決方案》這套教程是我最早推出的教程,目前已經是第二版修訂了。這套教程定位於入門後的提高,在學習這套教程過程中,側重點是要理解及掌握我的“積木程式設計”思想。要靈活運用教程中的例項像搭積木一下把自己喜歡的程式碼擺好。

這套教程共三冊,一百四十七講,內容覆蓋較廣,也是初級和中級間的過度教程,改版後的內容主要是提供程式原始碼檔案及程式碼修正為32位和64位兼用程式碼。今後一段時間會給大家陸續推出。今日的內容是第40講:InputBox函式與InputBox方法

InputBox函式與InputBox方法

第四十一講 InputBox方法與InputBox函式的區別

大家好,我們今日繼續講解VBA程式碼,今日講解的是第41講,在Excel中輸入簡單的資料可以使用InputBox函式顯示的對話方塊,但是如果輸入的資料型別不匹配時,過程執行時會產生意外錯誤。為了避免此類情況發生,可以使用另一種獲得使用者輸入的方式——InputBox方法。

1 InputBox方法

InputBox方法顯示一個接收使用者輸入的對話方塊,返回此對話方塊中輸入的資訊,

語法如下:

expression。InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId,Type)

引數

a) expression是必需的,返回一個Application物件。

b) Prompt是必需的,作為對話方塊訊息顯示的字串表示式。

c) Title是可選的,作為顯示在對話方塊標題欄中的字串表示式。如果省略Title引數,將使用預設的標題。

d) Default是可選的,在對話方塊顯示時出現在文字框中的初始值。如果省略Default引數,則文字框為空。

e) Left是可選的,指定對話方塊相對於螢幕左上角的 x 座標。

Top是可選的,指定對話方塊相對於螢幕左上角的 y 座標。

f) HelpFile和引數HelpContextId是可選的,為對話方塊提供上下文相關的幫助和編號,如果提供了其中一個引數,則必須提供另一個引數,兩者缺一不可。

g) Type是可選的,指定返回的資料型別。如果省略Type引數,對話方塊將返回文字。

l注意點:

1) InputBox方法的語法和InputBox函式的語法相似,最大的區別在於最後一個引數Type。

透過Type引數可以指定返回值的資料型別:0表示一個公式;1表示一個數字;2表示文字(字串);4表示一個邏輯值,例如true或false;8 表示一個單元格引用;16表示一個錯誤值;64表示一個值的陣列

2) 這些數值可以相加使用,如果希望返回數字和文字,可以將Type引數設定為1+2。

3) InputBox方法與InputBox函式相比,優點是內建的出錯處理;InputBox方法和InputBox函式的另一個區別是,當用戶單擊“取消”按紐時返回False而不是長度為零的字串。

4)在VBA程式碼中,Application。InputBox呼叫的是InputBox方法,不帶物件識別符的InputBox呼叫的是InputBox 函式。

2 InputBox方法應用例項

下面我們看一個例項對上面例子進行講解:使用InputBox方法輸入資料時可以指定資料的型別,如下面的程式碼所示。

Sub mynz_41() ‘41 使用InputBox方法與使用InputBox函式的區別

Dim dInput As Double

Dim r As Integer

r = Sheets(“41”)。Range(“A65536”)。End(xlUp)。Row

dInput = Application。InputBox(Prompt:=“請輸入必要的數字:”, Type:=1)

If dInput False Then

Sheets(“41”)。Cells(r + 1, 1)。Value = dInput

Else

MsgBox “你已取消了輸入!”

End If

End Sub

程式碼視窗:

InputBox函式與InputBox方法

程式碼解析:mynz_41過程使用InputBox方法顯示一個提示使用者輸入數字的對話方塊。

1)在第5行程式碼中將Type引數值設定為1,這意味著對話方塊只能輸入數值。

2)第6行到第10行程式碼,如果使用者單擊對話方塊的“確定”按鈕,將使用者輸入的數字寫入工作表的A列單元格。如果使用者單擊對話方塊的“取消”按鈕,則顯示一條提示訊息。執行MydInput過程將顯示一個提示使用者輸入數字的對話方塊。

下面看一下測試結果:

執行視窗:

InputBox函式與InputBox方法

當錄入非數字時顯示下面的視窗:

InputBox函式與InputBox方法

當錄入的是數字時:

InputBox函式與InputBox方法

今日內容迴向:

1 inputbox 函式和inputbox 方法有什麼不同?

2 TYPE 的幾個值有什麼意義?

本講內容參考程式檔案:VBA程式碼解決方案修訂(1-48)。xlsm

【分享成果,隨喜正能量】山高水長,怕什麼來不及,慌什麼到不了,天順其然,地順其性,人順其變,一切都是剛剛好。平和地接納,不屈地奮鬥,堅定地前行,如一泓清泉,靜水流深,看似力量並不洶湧澎湃,卻能磋磨岩石鋒利的尖角,滌盪水中的混沌的雜質,把困難揉碎,長成屬於自己的力量。。

我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中:

InputBox函式與InputBox方法

TAG: InputBox對話方塊Type程式碼輸入