註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» Excel VBA 如何用 inputbox 取得儲存格的行與列
返回列表
下一主題
上一主題
發帖
[發問]
Excel VBA 如何用 inputbox 取得儲存格的行與列
seim
發短消息
加為好友
seim
當前離線
UID
17897
帖子
6
主題
1
精華
0
積分
7
金錢
7
點名
0
作業系統
Vista
軟體版本
office 2010
閱讀權限
10
在線時間
2 小時
註冊時間
2014-6-28
最後登錄
2017-1-8
小學生
帖子
6
主題
1
精華
0
積分
7
點名
0
作業系統
Vista
軟體版本
office 2010
閱讀權限
10
註冊時間
2014-6-28
最後登錄
2017-1-8
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 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
發短消息
加為好友
ML089
當前離線
UID
3671
帖子
2025
主題
13
精華
0
積分
2053
金錢
2053
點名
0
作業系統
WIN7
軟體版本
Office2007
閱讀權限
100
性別
男
來自
台北市
在線時間
2405 小時
註冊時間
2011-3-2
最後登錄
2024-3-14
版主
帖子
2025
主題
13
精華
0
積分
2053
點名
0
作業系統
WIN7
軟體版本
Office2007
閱讀權限
100
性別
男
來自
台北市
註冊時間
2011-3-2
最後登錄
2024-3-14
2
#
發表於 2014-7-10 16:08
|
只看該作者
回復
1#
seim
code = Application.InputBox(prompt:="輸入 Code 欄位") '出現沒有設定物件變數或 with 區塊變數
If code = "" Then Exit Sub
code 是內定函數名稱,請勿使用,改個名字 code1 也可以
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
TOP
seim
發短消息
加為好友
seim
當前離線
UID
17897
帖子
6
主題
1
精華
0
積分
7
金錢
7
點名
0
作業系統
Vista
軟體版本
office 2010
閱讀權限
10
在線時間
2 小時
註冊時間
2014-6-28
最後登錄
2017-1-8
小學生
帖子
6
主題
1
精華
0
積分
7
點名
0
作業系統
Vista
軟體版本
office 2010
閱讀權限
10
註冊時間
2014-6-28
最後登錄
2017-1-8
3
#
發表於 2014-7-10 16:16
|
只看該作者
請問一下, 以後我如何知道那些是內定函數, 需要避開.
有表可以查詢嗎??
TOP
stillfish00
發短消息
加為好友
stillfish00
當前離線
UID
9276
帖子
1018
主題
15
精華
0
積分
1058
金錢
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
在線時間
1141 小時
註冊時間
2012-5-9
最後登錄
2022-9-28
大學生
帖子
1018
主題
15
精華
0
積分
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
註冊時間
2012-5-9
最後登錄
2022-9-28
4
#
發表於 2014-7-10 23:54
|
只看該作者
回復
1#
seim
可查看Excel說明中Application.InputBox
沒指定參數Type時,預設對話方塊會傳回文字
但你 code = Application.InputBox(prompt:="輸入 Code 欄位")
等號左式為Range物件,右式為文字,這樣會把該文字給到Range的value屬性(預設屬性)
但你的code這個Range又還沒被set(只有宣告而已),所以才會出現"沒有設定物件變數"
TOP
c_c_lai
發短消息
加為好友
c_c_lai
當前離線
UID
8671
帖子
2035
主題
24
精華
0
積分
2031
金錢
2031
點名
0
作業系統
Win7
軟體版本
Office2010
閱讀權限
100
性別
男
在線時間
2394 小時
註冊時間
2012-3-22
最後登錄
2024-2-1
博士班
帖子
2035
主題
24
精華
0
積分
2031
點名
0
作業系統
Win7
軟體版本
Office2010
閱讀權限
100
性別
男
註冊時間
2012-3-22
最後登錄
2024-2-1
5
#
發表於 2014-7-11 06:33
|
只看該作者
回復
1#
seim
因為
Dim code As Range
複製代碼
宣告為 Range 物件,故一開始必先予以初始設定對應物件:
Set code = [A1] ' 假設其為 A1 欄位
code = Application.InputBox(Prompt:="輸入 Code 欄位")
複製代碼
如此便不會有問題了。
TOP
stillfish00
發短消息
加為好友
stillfish00
當前離線
UID
9276
帖子
1018
主題
15
精華
0
積分
1058
金錢
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
在線時間
1141 小時
註冊時間
2012-5-9
最後登錄
2022-9-28
大學生
帖子
1018
主題
15
精華
0
積分
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
註冊時間
2012-5-9
最後登錄
2022-9-28
6
#
發表於 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)
複製代碼
第二種 對話方塊 要用點選儲存格的方式輸入
當然,兩種可能都還要另外加一些防呆處理的程式碼
TOP
靜思自在 :
滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表
下一主題
上一主題
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 ‧ 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲