VBA代碼如何限制文本框的輸入

題記:非常期間,希望大家靜下心,多學習有用的知識,多提高自己的水平和能力,這才是正道。適當節制自我的各種慾望,誰都逃不過時間的歷練,誰都是命運的行者,誰都是在人生的道路上一步一趨,把生活與工作打理好,不負年華。欲成大事者,必先修其身。欲修其身者,先正其心。小成靠智,大成靠德。身不修則德不立,德不立則無以成事。

今日內容是和大家分享VBA編程中常用的 "積木"過程代碼,這些內容大多是取至我編寫的"VBA代碼解決方案"教程中內容。今日分享的是NO.208-NO.208,內容是:

NO. 208:在VBA代碼中使用限制文本框的輸入

VBA代碼如何限制文本框的輸入

VBA過程代碼208:在VBA代碼中使用限制文本框的輸入

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Select Case KeyAscii

Case Asc("0") To Asc("9")

Case Asc("-")

If InStr(1, Me.TextBox1.Text, "-") > 0 Or _

Me.TextBox1.SelStart > 0 Then

KeyAscii = 0

End If

Case Asc(".")

VBA代碼如何限制文本框的輸入

If InStr(1, Me.TextBox1.Text, ".") > 0 Then

KeyAscii = 0

End If

Case Else

KeyAscii = 0

End Select

End Sub

代碼解析: KeyPress事件過程,只允許輸入數字字符和一個"-"號、一個"."號。如果鍵盤輸入的是0到9之間的數字字符,則允許輸入。如果鍵盤輸入的是"-"號,先使用InStr函數測試文本框中是否已有"-"號,如果InStr函數返回值大於0,說明文本框中已有"-"號。接下來使用文本框的SelStart 屬性來測試插入點,如果文本框的SelStart 屬性值大於0,說明"-"號的插入點不是第一個。如果以上兩個條件中有任何一個成立,將KeyAscii參數值設置為0,使文本框只能在第一位輸入一個"-"號。


VBA代碼如何限制文本框的輸入

VBA是實現自己小型辦公自動化的有效手段,我根據自己20多年的VBA實際利用經驗,現推出了四部VBA學習教程,這些是我多年編程經驗的記錄,也是我"積木編程"思想的體現。每一講都是一塊"積木",可以獨立的完成某些或者某類的過程。利用這些可以大大提高自己的編程效率。

第一套:"VBA代碼解決方案"是PDF教程,是VBA中各個知識點的講解,覆蓋了絕大多數的知識點,是初學及中級以下人員必備;

第二套:"VBA數據庫解決方案"是PDF教程,數據庫是數據處理的利器,對於中級人員應該掌握這個內容了。

第三套:"VBA數組與字典解決方案"是PDF教程,講解VBA的精華----字典,是我們打開思路,提高代碼水平的必備。

第四套:"VBA代碼解決方案"視頻教程。目前正在錄製,"每天20分鐘,精進VBA",越早參與,回饋越多。現在錄製到第三冊的124講,以上各教程的代碼都是經過實測,可以拿來即用。

懶惰是很奇怪的東西,它使你以為那是安逸,是休息,是福氣;但實際上它所給你的是無聊,是倦怠,是消沉。

不要懶惰還是多學習些有用的知識吧,哪怕只是點滴。


分享到:


相關文章: