標題:
[發問]
Application.inputbox 問題---[已解決]
[打印本頁]
作者:
swatt
時間:
2011-9-7 10:18
標題:
Application.inputbox 問題---[已解決]
本帖最後由 swatt 於 2011-9-7 14:21 編輯
請教各位高手大大:
從說明檔案中複製Apllication.inputbox範例如下:
inputbox會有兩個按鈕"確定"與"取消",若按下"取消"則會傳回False
所以自己在後面加上一判斷式,要判斷若按下"取消"按鈕,則Exit sub, 如程式最後一列:
可是程式執行時,按取消鍵都會出現錯誤訊息(如下),不會Exit sub,
找了很久,不曉得問題出在哪裡,希望高人指點一下,謝謝啦~
*******錯誤訊息***********
執行階段錯誤 '13':
型態不符合
***************************
******程式區*****************
Sub tt()
Worksheets("sheet1").Activate
Set mycell = Application.InputBox( _
prompt:="Select a cell", Type:=8)
If mycell = False Then Exit Sub ****這一列是自己加上去,要判斷user若按下"取消"按鈕,則Exit sub
End Sub
************************************************
作者:
GBKEE
時間:
2011-9-7 11:15
回復
1#
swatt
Sub tt()
Dim mycell As Range
Worksheets("sheet1").Activate
On Error Resume Next
Set mycell = Application.InputBox(prompt:="Select a cell", Type:=8)
If mycell Is Nothing Then Exit Sub
End Sub
複製代碼
作者:
swatt
時間:
2011-9-7 14:19
回復
2#
GBKEE
感謝GBKEE 大大,
學到了On Error 用法,並利用range is nothing 成功跳出sub。
可否再請教一下,之前利用Application.inputbox 所傳回的 "False"會失敗,
是否因為下面這一句,因mycell為range物件,Application.inputbox 所傳回的 "False"無法寫入mycell而導致??
Set mycell = Application.InputBox(prompt:="Select a cell", Type:=8)
還是因為其他原因??
純粹只是想知道原因,若大大有空再請指導一下,謝謝啦~~
作者:
GBKEE
時間:
2011-9-7 14:41
回復
3#
swatt
刪掉 Set ,後 mycell = Application.InputBox(prompt:="Select a cell", Type:=8)
你1樓的程序中If mycell = False Then Exit Sub 就沒問題
Set 是將 變數 指定為物件 , Application.InputBox(prompt的Type 也必須是8
按下取消鍵=沒有將物件指定給變數 而產生錯誤值
作者:
swatt
時間:
2011-9-7 15:13
回復
4#
GBKEE
感謝GBKEE大大解惑,
原來是指定物件失敗造成的,
因要從inputbox輸入cell,所以SET就取消囉,
還是要用大大提供的方法,
再次感謝了~~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)