Giúp code khi nhập Textbox tự động nhân thêm 1000 (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chảo cả nhà GPE !
Mình muốn khi nhập số vào TEXTbox thì nó tự động Nhân cho 1000. Ví dụ mình muốn nhập 750.000 VND thì chỉ cần nhập 750 thôi Textbox tự động thêm 3 con Số 0 ở đằng sau. Cảm ơn Vạn lần
và cho mình hỏi ví dụ mình muốn cảm ơn người trả lồi thì mình cảm ơn bằng cách nào. Xin hết
 

File đính kèm

Chảo cả nhà GPE !
Mình muốn khi nhập số vào TEXTbox thì nó tự động Nhân cho 1000. Ví dụ mình muốn nhập 750.000 VND thì chỉ cần nhập 750 thôi Textbox tự động thêm 3 con Số 0 ở đằng sau. Cảm ơn Vạn lần
và cho mình hỏi ví dụ mình muốn cảm ơn người trả lồi thì mình cảm ơn bằng cách nào. Xin hết


thử dùng sự kiện key_down xem thế nào :
Mã:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
    Dim tmp
    tmp = TextBox1.Text
    If IsNumeric(tmp) Then TextBox1.Text = TextBox1.Text * 1000
End If
End Sub

nhập số 75 vào textbox1 , rồi ấn enter !
 
Upvote 0
Thêm dòng này phía trên End If để Format phân cách số hàng ngàn.

TextBox1.Value = Format(TextBox1.Value, "#,###")
 
Upvote 0
Phải là vầy chớ Anh be09:
TextBox1.Value = Format(TextBox1.Value, "#,##0")
 
Upvote 0
Dạ thank anh. ý em là không phải Format thành hàng nghàn. ý em là nhập số váo nó tự động Nhân 1000. Ví dụ anh nhập 75 thì ở textbox nó sẽ hiện ra là 75000
Giống như cái From a ở cây Trụ ATM khi a nhập thì đằng sau nó tự thêm 3 con số 0
Thêm dòng này phía trên End If để Format phân cách số hàng ngàn.

TextBox1.Value = Format(TextBox1.Value, "#,###")
 
Lần chỉnh sửa cuối:
Upvote 0
thử dùng sự kiện key_down xem thế nào :
Mã:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
    Dim tmp
    tmp = TextBox1.Text
    If IsNumeric(tmp) Then TextBox1.Text = TextBox1.Text * 1000
End If
End Sub

nhập số 75 vào textbox1 , rồi ấn enter !

Dạ thank anh . Nhưng cái này không được anh ơi. Em muốn khi mình vừa nhập xong nó thêm 3 con số 000 vào đằng sau luôn. Giống như cái From a ở cây Trụ ATM khi a nhập thì đằng sau nó tự thêm 3 con số 0
 
Upvote 0
Phải là vầy chớ Anh be09:
TextBox1.Value = Format(TextBox1.Value, "#,##0")
Dạ thank anh. ý em là không phải Format thành hàng nghàn. ý em là nhập số váo nó tự động Nhân 1000. Ví dụ anh nhập 75 thì ở textbox nó sẽ hiện ra là 75000
Giống như cái From a ở cây Trụ ATM khi a nhập thì đằng sau nó tự thêm 3 con số 0
 
Upvote 0
Bạn thử test code sau xem sao, nếu được thì bổ xung cho số âm là xong:

Mã:
Private Sub TextBox1_Change()
If Val(TextBox1) = 0 Then TextBox1 = 0
End Sub
'----------------------------------------------------------------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim Kt
If KeyAscii > 47 And KeyAscii < 58 Then
If Not IsNumeric(TextBox1) Then TextBox1 = 0
TextBox1 = Format((TextBox1 * 0.001 & Chr(KeyAscii)) * 1000, "#,##0")
TextBox1.SelLength = 0
TextBox1.SelStart = IIf(Len(TextBox1) < 4, 0, Len(TextBox1) - 4)
End If
KeyAscii = 0
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Dạ thank anh. ý em là không phải Format thành hàng nghàn. ý em là nhập số váo nó tự động Nhân 1000. Ví dụ anh nhập 75 thì ở textbox nó sẽ hiện ra là 75000
Giống như cái From a ở cây Trụ ATM khi a nhập thì đằng sau nó tự thêm 3 con số 0

Mời xem file đính kèm và miễn thắc mắc.
 

File đính kèm

Upvote 0
Ba cái trò tự đọng nhân thêm này rắc rối bỏ bố. Có nhiều cách thực hiện hơn. Ví dụ ghi bên cạnh textbox x000 chẳng hạn. Lúc chép mới thật sự nhân. Giản dị, dễ hiểu, ít sai lỗi.

Tự động nhân thêm sẽ xảy ra tình trạng nhảy qua nhảy lại. Mõi lần đi ngang textbox, nếu khong khéo nó lại nhân thêm 1000

Rồi còn vấn đề sửa. Tôi ghi 99, ra khỏi textbox, nó chỉnh thành 99000. Tôi trở lại textbox.
Chuyện gì xảy ra? Nếu tôi sửa thành 98 thì lúc nhảy ra, nó là 98000. Nhưng nếu tôi sửa thành 98000 thì lúc nhảy ra sẽ là 98000000

Nếu thật sự muốn tự động nhân 1000 thì mỗi lần trở lại textbox, cần phải chia nó cho 1000 trở lại.
Ví dụ, textbox có 99000. Khi tôi trở lại nó thì nó phải tự động thành 99. Lúc nhảy ra, nó mới lên 99000.
 
Upvote 0
Ba cái trò tự đọng nhân thêm này rắc rối bỏ bố. Có nhiều cách thực hiện hơn. Ví dụ ghi bên cạnh textbox x000 chẳng hạn. Lúc chép mới thật sự nhân. Giản dị, dễ hiểu, ít sai lỗi.

Tự động nhân thêm sẽ xảy ra tình trạng nhảy qua nhảy lại. Mõi lần đi ngang textbox, nếu khong khéo nó lại nhân thêm 1000

Rồi còn vấn đề sửa. Tôi ghi 99, ra khỏi textbox, nó chỉnh thành 99000. Tôi trở lại textbox.
Chuyện gì xảy ra? Nếu tôi sửa thành 98 thì lúc nhảy ra, nó là 98000. Nhưng nếu tôi sửa thành 98000 thì lúc nhảy ra sẽ là 98000000

Nếu thật sự muốn tự động nhân 1000 thì mỗi lần trở lại textbox, cần phải chia nó cho 1000 trở lại.
Ví dụ, textbox có 99000. Khi tôi trở lại nó thì nó phải tự động thành 99. Lúc nhảy ra, nó mới lên 99000.
Em thấy nó tiện lợi Nhanh Chóng. do trình độ chung ra còn Hạn chế nên không thể nào Hoàn thiện Được. nếu răc rối thì các Ngân hàng không làm rồi a
 
Upvote 0
Em thấy nó tiện lợi Nhanh Chóng. do trình độ chung ra còn Hạn chế nên không thể nào Hoàn thiện Được. nếu răc rối thì các Ngân hàng không làm rồi a

Bạn biết các ngân hàng làm ra sao thì cứ chụp ảnh đưa nó lên đây cho bà con bắt chước. Chứ ở đây đoán mò cách làm thì sao bằng chuyên viên thiết kế của ngân hàng được.
(cái cần là nguyên tắc hoạt động. Một khi tôi thấy cách hoạt động thì tôi biết phân tích ra và biết cách code)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom