在Excel VBA中我們經(jīng)常需要和用戶進行交互,此時我們會用到Inputbox這個函數(shù)妨托。
其實,Inputbox作為同一函數(shù)名钧排,確有2種不同的用法符衔,一個是作為VBA下面的函數(shù)糟袁;再一個是作為Excel應用級的函數(shù)來使用项戴。
下面我們分別看下辩撑,2種不同方法的區(qū)別合冀。
一得糜、VBA函數(shù)定義:
InputBox(Prompt,[Title, (Defaultl,[Pos,[YPos,(HelFilel, [Context)) As String
參數(shù)說明:
prompt:必要參數(shù)谍珊,即InputBox對話框中的顯示文本砌滞。
title:可選參數(shù)绊茧,即InputBox對話框的名稱,默認情況為主程序名尊蚁。
default:可選參數(shù)亡笑,輸入框默認的內(nèi)容,如果不設置此參數(shù)横朋,默認情況下輸入框為空仑乌。
xpos與ypos:可選參數(shù),用于設置InputBox對話框在主程序窗口的位置琴锭,默認情況下在窗口的中心晰甚。
helpfile與context:可選參數(shù),即幫助文件和與幫助文件相關的上下文編號祠够。
代碼實例:
Sub test()
InputBox "請輸入信息压汪!","Test","在此處輸入",1600,1600, "D:Applications?-Zip?-zip.chm", 0
End Sub
二、應用程序級函數(shù)Application.InputBox定義
Application.InputBox(Prompt As String, [Titlel, (Default, (Leftl, [Topl, (HelpFilel, (HelpContextID), [Typel)
參數(shù)說明:
type:可選參數(shù),用于明確返回數(shù)據(jù)的類型。
如果設置為1,則輸入框中必須輸入數(shù)字類型。
返回數(shù)據(jù)的類型靠瞎,主要有0父能,1岔霸,2絮爷,4仗谆,8狸吞,16威始,64葫掉,分別代表公式、數(shù)字、文本爽茴、邏輯值(True或False)昌简、單元格對象(Range)餐蔬、錯誤值(如#N/A)、數(shù)組值。
在這里必指,值得注意的是,如果返回數(shù)據(jù)類型為8,即為單元格對象Range類型读存。那么我們可以實現(xiàn),在Excel里面框選單元格或區(qū)域來輸入單元格地址缴阎。這樣惋砂,對于我們選擇單元格區(qū)域是非常方便的鳞芙。
如果返回數(shù)據(jù)類型為Range類型脱茉,那么我們需要用到Set來接收返回值茂腥,如下:
Set rng = Application.InputBox("請輸入?yún)^(qū)域地址",,,,,,,8)
這樣,我們就可以使用For Each循環(huán)來遍歷Range對象诊杆,方法如下:
For Each x in rng
Next
結合上面返回值,這里給出一個代碼實例作為參考宁脊。
Sub sel()
??? Set Rng = Application.InputBox("請輸入?yún)^(qū)域地址", , , , , , , 8)
??? For Each x In Rng
??????? If x = [f10] Then
??????????? MsgBox (x.Row)
??????? End If
??? Next
End Sub
本文轉(zhuǎn)載自:https://www.yunzhi88.com/study/excel_vba/2023/0109/2748.html