標題:
[發問]
Excel VBA 如何用 inputbox 取得儲存格的行與列
[打印本頁]
作者:
seim
時間:
2014-7-10 14:45
標題:
Excel VBA 如何用 inputbox 取得儲存格的行與列
我想要使用 inputbox 取得某儲存格的行與列,
寫了下列的 VBA 的是一直出現錯誤, 請教大家問題點在那,
感謝幫忙.
Dim code As Range
Dim Code_Row As Integer
Dim Code_Column As Integer
code = Application.InputBox(prompt:="輸入 Code 欄位") '出現沒有設定物件變數或 with 區塊變數
If code = "" Then Exit Sub
Code_Row = code.Row
Code_Column = code.Column
作者:
ML089
時間:
2014-7-10 16:08
回復
1#
seim
code = Application.InputBox(prompt:="輸入 Code 欄位") '出現沒有設定物件變數或 with 區塊變數
If code = "" Then Exit Sub
code 是內定函數名稱,請勿使用,改個名字 code1 也可以
作者:
seim
時間:
2014-7-10 16:16
請問一下, 以後我如何知道那些是內定函數, 需要避開.
有表可以查詢嗎??
作者:
stillfish00
時間:
2014-7-10 23:54
回復
1#
seim
可查看Excel說明中Application.InputBox
沒指定參數Type時,預設對話方塊會傳回文字
但你 code = Application.InputBox(prompt:="輸入 Code 欄位")
等號左式為Range物件,右式為文字,這樣會把該文字給到Range的value屬性(預設屬性)
但你的code這個Range又還沒被set(只有宣告而已),所以才會出現"沒有設定物件變數"
作者:
c_c_lai
時間:
2014-7-11 06:33
回復
1#
seim
因為
Dim code As Range
複製代碼
宣告為 Range 物件,故一開始必先予以初始設定對應物件:
Set code = [A1] ' 假設其為 A1 欄位
code = Application.InputBox(Prompt:="輸入 Code 欄位")
複製代碼
如此便不會有問題了。
作者:
stillfish00
時間:
2014-7-11 08:08
回復
5#
c_c_lai
這樣是不會有Error,但是和發問的題意就不合了
我傾向於
set code = ActiveSheet.Range(Application.InputBox(Prompt:="輸入 Code 欄位"))
複製代碼
或
set code = Application.InputBox(Prompt:="請點選儲存格",Type:=8)
複製代碼
第二種 對話方塊 要用點選儲存格的方式輸入
當然,兩種可能都還要另外加一些防呆處理的程式碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)