為何Textbox的Setfocus無法發揮功能呢?
- 帖子
- 231
- 主題
- 55
- 精華
- 0
- 積分
- 293
- 點名
- 0
- 作業系統
- winxp
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- KEELUNG
- 註冊時間
- 2010-7-24
- 最後登錄
- 2018-8-28
|
為何Textbox的Setfocus無法發揮功能呢?
各位大大好:
小弟常常使用表單操作,
但一直會遇到要使表單上的
textbox能在一開啟表單時
能將駐點停在Textbox上,
為何使用Textbox的Setfocus
卻會無法發揮其功能呢?
感謝各位大大! |
-
-
TEST.rar
(11.51 KB)
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2010-8-6 07:03
| 只看該作者
回復 1# dechiuan999
試試看
修正你的Userform1程式碼如下- Private Sub CommandButton1_Click()
- TextBox1.SetFocus
- End Sub
- Private Sub CommandButton2_Click()
- Unload Me
- End Sub
- Private Sub TextBox1_Change()
- TextBox1.Text = UCase(TextBox1.Text)
- 'TextBox1.SetFocus
- End Sub
- Private Sub UserForm_Initialize()
- '此程式發生在一個物件載入後,但尚未顯示的時候。
- '您可將變數指定為起始值,且控制項可以移動或改變大小來配合初始資料。
- 'Userform1.TextBox1.Text = UCase(TextBox1.Text)
- 'Userform1.TextBox1.SetFocus
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 231
- 主題
- 55
- 精華
- 0
- 積分
- 293
- 點名
- 0
- 作業系統
- winxp
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- KEELUNG
- 註冊時間
- 2010-7-24
- 最後登錄
- 2018-8-28
|
3#
發表於 2010-8-6 08:41
| 只看該作者
謝謝版主大大的說明。
小弟引用大大將userform的initialize
內容取消之後,已可讓textbox的setfocus
發揮其功能。
不過,版主大大對initialize的說明,
小弟也曾直接在excel help內觀看其說明,
實因小弟資質尚淺,還無法能全然理解其含意。
不知能否請版主大大能再多多開示。
感恩大大! |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2010-8-6 08:59
| 只看該作者
小弟引用大大將userform的initialize內容取消之後,已可讓textbox的setfocus發揮其功能。
dechiuan999 發表於 2010-8-6 08:41 
真正的發揮其功能在此
Private Sub CommandButton1_Click()
TextBox1.SetFocus
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub UserForm_Initialize()
'CommandButton1 設定屬性
With CommandButton1
.Caption = "發送 " & .Caption
.Font.Size = 14
.Font.Bold = True
.Width = .Width + 30
End With
End Sub |
|
|
|
|
|
|
- 帖子
- 231
- 主題
- 55
- 精華
- 0
- 積分
- 293
- 點名
- 0
- 作業系統
- winxp
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- KEELUNG
- 註冊時間
- 2010-7-24
- 最後登錄
- 2018-8-28
|
5#
發表於 2010-8-7 07:20
| 只看該作者
謝謝版主大大。
小弟已收下,
並好好研究及體會其含意。
感恩大大! |
|
|
|
|
|
|
- 帖子
- 1
- 主題
- 0
- 精華
- 0
- 積分
- 1
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- 64bit
- 閱讀權限
- 10
- 註冊時間
- 2012-7-14
- 最後登錄
- 2012-7-14
|
6#
發表於 2012-7-14 23:38
| 只看該作者
回復 4# GBKEE
請問大大~~
利用AfterUpdate()驗證身分證字號錯誤後,是否可以利用setfocus將指標指定在身份證字號的欄位上呢?
我的程式碼如下:
Private Sub id_AfterUpdate()
Dim mPID As String
mPID = Me![id]
mAE = Left(mPID, 1)
mSE = Mid(mPID, 2, 1)
Aer = DLookup("Numb", "CITYID", "[CODE]='" & mAE & "'")
chk = (Mid(Aer, 1, 1) + Mid(Aer, 2, 1) * 9 + Mid(mPID, 2, 1) * 8 + Mid(mPID, 3, 1) * 7 + Mid(mPID, 4, 1) * 6 + Mid(mPID, 5, 1) * 5 + Mid(mPID, 6, 1) * 4 + Mid(mPID, 7, 1) * 3 + Mid(mPID, 8, 1) * 2 + Mid(mPID, 9, 1) * 1 + Mid(mPID, 10, 1) * 1) Mod 10
If chk <> 0 Then
MsgBox "身分證號碼輸入錯誤!!! 請重新輸入"
Me![id] = ""
Me![id].SetFocus
Exit Sub
Else
MsgBox "身分證號碼輸入正確!!!"
Select Case mSE
Case "1"
Me![e] = "男"
Me![Sexl].Value = "1"
Case "2"
Me![e] = "女"
Me![Sexl].Value = "2"
End Select
End If
End Sub
頭痛的小學生 2012.7.14 |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
7#
發表於 2012-7-15 17:28
| 只看該作者
回復 6# dds727
Me![id] 這程式碼 在 2003是錯誤的 不知你是用何種Excel版本 .
SetFocus 方法 鍵盤的駐點移到指定命令列控制項,這樣該命令列控制項就可接收鍵盤輸入。用來操縱控制項的鍵盤輸入型態視該控制項的型態而定。 這是 控制項 的 方法
如是儲存格 請用 [id].Select |
|
|
|
|
|
|