2016-06-07 17 views
1

我創建了一個充滿動態創建文本框的表單。當用戶離開單元格時,我需要將這些框重新格式化爲貨幣格式。對於動態創建的表單沒有TextBox_Exit事件,是否有解決方法?關於vba動態控制的textbox_exit解決方法

我試着改變事件和按鍵事件,但我沒有得到任何有用的輸出。有沒有辦法模擬事件或做一些事情來獲得正確的格式,而不是放置「格式文本框按鈕」?

我可以通過將值放入excel,將單元格格式化爲貨幣,然後以合適的格式將其拉回到用戶表單,從而「僞裝」出來,但這並不能幫助用戶進入數據。有任何想法嗎?

+1

有關編寫封裝文本框類是什麼?那麼你可以在課堂上處理退出事件,並保持格式直接爲你創建的所有對象(文本框)? – PeterT

+2

'Exit'事件不會暴露給'WithEvents'文本框。在這裏閱讀帖子#6以獲取替代方案:http://www.mrexcel.com/forum/excel-questions/859966-textbox-created-run-time-wont-fire-some-events.html – Rory

+0

@PeterT我不知道該怎麼做。這是我第一次在動態控件上運行,我不確定如何封裝文本框。 –

回答

0

我可以建議跟蹤更改事件並執行以下操作嗎?

Private Sub TextBox1_Change() 
If InStr(TextBox1.Value, "$") Then 
Label1.Caption = "Money" 
Else 
Label1.Caption = "Cents" 
End If 
End Sub 

enter image description here