Nhập dữ liệu trên textbox

Liên hệ QC

chisinhvnn

Thành viên tiêu biểu
Tham gia
7/3/08
Bài viết
478
Được thích
103
Máy mình định dạng thập phân dấu ",". phân cách hàng nghin "." (trong control panel)
Khi nhập trên textbox bàn phím số (ví dụ số 1,08) textbox hiện "1.08", ghi vào sheet "1,08"
Khi mình lấy dữ liệu từ sheet lên textbox, textbox hiện 1,08. Ghi lại xuống sheet là "1"
Nhờ GPE viết code xử lý để dữ liệu khi mình lấy lên và ghi xuống sheet vẫn là 1,08
 

File đính kèm

  • hoi.xlsm
    18.1 KB · Đọc: 20
Máy mình định dạng thập phân dấu ",". phân cách hàng nghin "." (trong control panel)
Khi nhập trên textbox bàn phím số (ví dụ số 1,08) textbox hiện "1.08", ghi vào sheet "1,08"
Khi mình lấy dữ liệu từ sheet lên textbox, textbox hiện 1,08. Ghi lại xuống sheet là "1"
Nhờ GPE viết code xử lý để dữ liệu khi mình lấy lên và ghi xuống sheet vẫn là 1,08
Tôi nghĩ code cập nhật phải vầy mới đúng
Mã:
If IsNumeric(Me.TextBox1) = True Then
  Sheet1.Range("A2") = CDbl(Me.TextBox1.Value)
End If
 
Upvote 0
Tôi nghĩ code cập nhật phải vầy mới đúng
Mã:
If IsNumeric(Me.TextBox1) = True Then
  Sheet1.Range("A2") = CDbl(Me.TextBox1.Value)
End If
kết quả trả về vẫn chưa đúng anh àh.. Nhờ anh giúp đỡ thêm.
Với code trên, khi nhập Trên bàn phím số em nhập số (1,08) vào textbox (textbox hiện 1.08) ghi xuống sheet nó ra 108 chứ không phải 1,08 , khi textbox hiện (1,08) thì kết quả cho đúng
 
Upvote 0
kết quả trả về vẫn chưa đúng anh àh.. Nhờ anh giúp đỡ thêm.
Với code trên, khi nhập Trên bàn phím số em nhập số (1,08) vào textbox (textbox hiện 1.08) ghi xuống sheet nó ra 108 chứ không phải 1,08 , khi textbox hiện (1,08) thì kết quả cho đúng
Nhập liệu thì phải đúng chuẩn, tức Control Panel quy định nhập kiểu gì ta nhập kiếu nấy
Không thể lúc chấm lúc phẩy được đâu
 
Upvote 0
Nhập liệu thì phải đúng chuẩn, tức Control Panel quy định nhập kiểu gì ta nhập kiếu nấy
Không thể lúc chấm lúc phẩy được đâu
Cho em hỏi thêm, trong control panel em định dạng phân cách hàng nghìn là dấu ",", thập phân dấu ".". Trong excel ở phần option/advanced em sử dụng định dạng định dạng phân cách hàng nghìn là dấu ".", thập phân dấu "," như vậy có ảnh hưởng gì đến bảng tính và nhập liệu không
 
Upvote 0
Cho em hỏi thêm, trong control panel em định dạng phân cách hàng nghìn là dấu ",", thập phân dấu ".". Trong excel ở phần option/advanced em sử dụng định dạng định dạng phân cách hàng nghìn là dấu ".", thập phân dấu "," như vậy có ảnh hưởng gì đến bảng tính và nhập liệu không
Thế sao bạn không cho cả 2 cùng 1 chuẩn? Xài cái nào cứ 1 cái thôi chứ
Lộn xộn tùm lum, thiệt hại sẽ thuộc về bạn thôi!
 
Upvote 0
Tè le hột me ^^ Cấu hình tè le để vọc thì được, để mà dùng cho lâu dài hoặc để sử dụng cho máy này kia thì thảm họa như chơi. Bạn nên nghe lời khuyên của anh NDU chuyển về 1 cái chuẩn đi.
 
Upvote 0
Thế sao bạn không cho cả 2 cùng 1 chuẩn? Xài cái nào cứ 1 cái thôi chứ
Lộn xộn tùm lum, thiệt hại sẽ thuộc về bạn thôi!
Vấn đề năm ở chổ à khi định dạng trong control panel định dạng phân cách hàng nghìn là dấu ".", thập phân dấu ",". Nhập liệu bằng bàn phím số. khi nhập dữ liệu và load dữ liệu đối với số thập phân thì xảy ra vấn đề như em đang hỏi. Nhập vào thì không sao nhưng lấy từ sheet lưu lại thì bị lỗi. (muốn nhập 1,08 mà phải nhập phim số rồi qua lại phím chữ để nhập dấu "," thì cũng hơi bất tiện)
 
Upvote 0
Vấn đề năm ở chổ à khi định dạng trong control panel định dạng phân cách hàng nghìn là dấu ".", thập phân dấu ",". Nhập liệu bằng bàn phím số. khi nhập dữ liệu và load dữ liệu đối với số thập phân thì xảy ra vấn đề như em đang hỏi. Nhập vào thì không sao nhưng lấy từ sheet lưu lại thì bị lỗi.
Cũng định thử nghiệm giúp bạn nhưng máy tôi laptop, hổng có bàn phím số nên thua rồi
 
Upvote 0
Máy mình định dạng thập phân dấu ",". phân cách hàng nghin "." (trong control panel)
Khi nhập trên textbox bàn phím số (ví dụ số 1,08) textbox hiện "1.08", ghi vào sheet "1,08"
Khi mình lấy dữ liệu từ sheet lên textbox, textbox hiện 1,08. Ghi lại xuống sheet là "1"
Nhờ GPE viết code xử lý để dữ liệu khi mình lấy lên và ghi xuống sheet vẫn là 1,08
Thử thay câu lệnh này:

Mã:
Sheet1.Range("A2") = Replace(Me.TextBox1, ",", ".", 1) * 1

Thành câu lệnh này:

Mã:
TextBox1 = Format(TextBox1, "#,##0.00;[Red]#,##0.00")
 
Upvote 0
Vấn đề năm ở chổ à khi định dạng trong control panel định dạng phân cách hàng nghìn là dấu ".", thập phân dấu ",". Nhập liệu bằng bàn phím số. khi nhập dữ liệu và load dữ liệu đối với số thập phân thì xảy ra vấn đề như em đang hỏi. (muốn nhập 1,08 mà phải nhập phim số rồi qua lại phím chữ để nhập dấu "," thì cũng hơi bất tiện)
Bạn nói sai sai thì phải.
Trong CP bạn có dấu phẩy là dấu thập phân, dấu chấm là phân cách.
Nếu bạn để trong Options mặc định, không thay đổi gì thì thế này:
1. Nếu bạn muốn nhập 1,08 thì nhấn lần lượt 1 -> phím giữa phím 0 và Enter (của tôi trên phím này nhìn thấy dấu chấm và Del) -> 0 -> 8. Thế thôi chứ sao lại qua lại phím chữ để nhập dấu ","?
Khi bạn đã nhập như trên thì dứt khoát trong TextBox1 có 1,08 chứ sao lại 1.08? Hay bàn phím của bạn đặc biệt?
Tôi nhắc lại: trong Options không thay đổi gì.
2. Khi bạn đập xuống sheet, vd.
Mã:
Range("A3").Value = CDbl(TextBox1.Value)
thì chắc phải thấy 1,08
Bạn nhập 1,00 thì sẽ nhìn thấy 1 chứ không phải là 1,00. Bạn cần định dạng trước hoặc bằng code là Number với vd. 2 chữ số thập phân.
3.
Nhập vào thì không sao nhưng lấy từ sheet lưu lại thì bị lỗi.
Làm gì có chuyện đó.
Sau khi chạy code
Mã:
TextBox2.Value = Range("A3").Value
thì trong TextBox2 có 1,08 chứ không phải là 1.08
Tức đúng chứ sao lại lỗi?
 
Upvote 0
Cũng định thử nghiệm giúp bạn nhưng máy tôi laptop, hổng có bàn phím số nên thua rồi
cái này lap cũng được mà anh.
Bạn nói sai sai thì phải.
Trong CP bạn có dấu phẩy là dấu thập phân, dấu chấm là phân cách.
Nếu bạn để trong Options mặc định, không thay đổi gì thì thế này:
1. Nếu bạn muốn nhập 1,08 thì nhấn lần lượt 1 -> phím giữa phím 0 và Enter (của tôi trên phím này nhìn thấy dấu chấm và Del) -> 0 -> 8. Thế thôi chứ sao lại qua lại phím chữ để nhập dấu ","?
Khi bạn đã nhập như trên thì dứt khoát trong TextBox1 có 1,08 chứ sao lại 1.08? Hay bàn phím của bạn đặc biệt?
Tôi nhắc lại: trong Options không thay đổi gì.
2. Khi bạn đập xuống sheet, vd.
Mã:
Range("A3").Value = CDbl(TextBox1.Value)
thì chắc phải thấy 1,08
Bạn nhập 1,00 thì sẽ nhìn thấy 1 chứ không phải là 1,00. Bạn cần định dạng trước hoặc bằng code là Number với vd. 2 chữ số thập phân.
3.

Làm gì có chuyện đó.
Sau khi chạy code
Mã:
TextBox2.Value = Range("A3").Value
thì trong TextBox2 có 1,08 chứ không phải là 1.08
Tức đúng chứ sao lại lỗi?
Cái này thì em không rõ, vì máy mình đã thay đổi định dạng trong control Panel rồi, khg còn như mặc định ban đầu
 
Upvote 0
cái này lap cũng được mà anh.

Cái này thì em không rõ, vì máy mình đã thay đổi định dạng trong control Panel rồi, khg còn như mặc định ban đầu
Khi đã thống nhất gõ dấu , là phân cách --> bạn muốn dùng dấu phẩy ở textbox thì phải gõ bên bàn phím trái (textbox không xử lý các nút bàn phím số bên phải như nhập tại Excel sheet -- nếu muốn giống thì phải lập thêm riêng phần xử lý phím - e rằng khi đó phức tạp với bạn)
 
Upvote 0
cái này lap cũng được mà anh.

Cái này thì em không rõ, vì máy mình đã thay đổi định dạng trong control Panel rồi, khg còn như mặc định ban đầu
Thì tôi đã nói là thiết lập trong CP như thế là được. Chỉ là không thay đổi trong Options thôi.

Và lúc đó thì chả có lỗi gì cả. Dấu thập phân cũng gõ bên bàm phím số.

Với thiết lập của bạn (CP) thì cứ nhấn phím như tôi viết là sẽ có dấu phẩy trong TextBox

Đọc kỹ -> thử nghiệm rồi hãy viết trả lời.
 
Upvote 0
Thì tôi đã nói là thiết lập trong CP như thế là được. Chỉ là không thay đổi trong Options thôi.

Và lúc đó thì chả có lỗi gì cả. Dấu thập phân cũng gõ bên bàm phím số.

Với thiết lập của bạn (CP) thì cứ nhấn phím như tôi viết là sẽ có dấu phẩy trong TextBox

Đọc kỹ -> thử nghiệm rồi hãy viết trả lời.
máy em định dạng như ảnh. trên textbox chỉ nhập được 1.08 chứ không phải là 1,08 (theo bàn phím số).
 

File đính kèm

  • anh excel.png
    anh excel.png
    82.3 KB · Đọc: 7
  • anh CP.jpg
    anh CP.jpg
    119 KB · Đọc: 8
Upvote 0
máy em định dạng như ảnh. trên textbox chỉ nhập được 1.08 chứ không phải là 1,08 (theo bàn phím số).
Theo hình thì trong Control Panel nên sửa List seperator thành dấu chấm-phẩy ( ; ) thay vì là phẩy (,) như hiện nay dễ làm hệ thống confuse (rối loạn)- nếu thế thì khi này công thức excel sẽ phân cách nhau dấu dấm-phảy ( ; )

Thử xem có gì đổi thay không?

Và chú ý bài #13 trên tôi đã viết.
 
Upvote 0
Theo hình thì trong Control Panel nên sửa List seperator thành dấu chấm-phẩy ( ; ) thay vì là phẩy (,) như hiện nay dễ làm hệ thống confuse (rối loạn)- nếu thế thì khi này công thức excel sẽ phân cách nhau dấu dấm-phảy ( ; )

Thử xem có gì đổi thay không?

Và chú ý bài #13 trên tôi đã viết.
Đúng rồi, khi định dạnh như hình, công thức excel phân cách bằng dấu ";". Như bài 13 bạn nói, nếu mình để định dạng như mặc định thì khg phải bị lỗi như trên nữa. Bạn có thể giúp mình với định dạng như hình của mình với khg. Vì nếu để định dạng như mạc định khi mình in ra sếp khg chấp nhận khi dấu phân cách đơn vị bằng dấu ","
 
Upvote 0
Đúng rồi, khi định dạnh như hình, công thức excel phân cách bằng dấu ";". Như bài 13 bạn nói, nếu mình để định dạng như mặc định thì khg phải bị lỗi như trên nữa. Bạn có thể giúp mình với định dạng như hình của mình với khg. Vì nếu để định dạng như mạc định khi mình in ra sếp khg chấp nhận khi dấu phân cách đơn vị bằng dấu ","
Như hình chưa đủ, phải:
nên sửa List seperator thành dấu chấm-phẩy ( ; )
như nói bài trên #16 trên

rồi thử lại xem sao

....in ra sếp khg chấp nhận khi dấu phân cách đơn vị bằng dấu ","
Vậy sếp chấp nhận cái gì, dấu phân cách nào?
Và liên quan chi đến Textbox

Túm lại

Nếu control-panel quy định là dấu gì, thì Excel sẽ hiện dấu đó (khi bạn đặt như hình theo system... của option excel) -Tuy vậy do Textbox môi trường VBA là mặc định dấu chấm (.) là dấu phân cách -->khi ta gán xuống Sheet--> bạn phải gõ là dấu chấm phân cách ở textbox

Trường hợp muốn gõ dấu phẩy, --> phải có code xử lý thay dấu phẩy thành dấu chấm trước khi gán xuống sheet./
 
Upvote 0
Vấn đề năm ở chổ à khi định dạng trong control panel định dạng phân cách hàng nghìn là dấu ".", thập phân dấu ",". Nhập liệu bằng bàn phím số. khi nhập dữ liệu và load dữ liệu đối với số thập phân thì xảy ra vấn đề như em đang hỏi. Nhập vào thì không sao nhưng lấy từ sheet lưu lại thì bị lỗi. (muốn nhập 1,08 mà phải nhập phim số rồi qua lại phím chữ để nhập dấu "," thì cũng hơi bất tiện)
Bạn thử thay toàn bộ code của Userform1 bằng đoạn này xem sao.
PHP:
Private DecimalSep As String
Private Sub UserForm_Initialize()
   DecimalSep = Mid(CStr(1 / 2), 2, 1)
End Sub
Private Sub CommandButton1_Click()
    Sheet1.Range("A2") = CDbl(TextBox1.Value)
End Sub
Private Sub CommandButton2_Click()
    TextBox1.Value = Sheet1.Range("A2").Value
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 110 Then KeyCode = AscW(DecimalSep) + 144
End Sub
 
Upvote 0
Web KT
Back
Top Bottom