[Help] Hiện thập phân trong UserForm (1 người xem)

Liên hệ QC

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

ti@ict.com

Thành viên mới
Tham gia
29/3/11
Bài viết
25
Được thích
2
Chào anh AE GPE. Mình tạo 1 Userform nhập liệu, mình gặp khó khăn trong việc định dạng hiện thập phân trong Textbox cho dễ gõ số tiền. Nhưng đi add xuống excel thì bị lỗi:
=== Lỗi 1 === Nếu hiệu thị thập phân trong textbox Số lượng vs Đơn giá thì Textbox thành tiền bị sai.
===Lỗi 2 === Khi định dạng thập phân trong textbox thì khi Add xuống excel thì bị lỗi (Textbox gõ 20000 =>hiện thị 20.000 nhưng khi xuống excel thì là 20)
===Không biết code===Mình có 1 file Nhập hàng: trong đó có phần: Tổng giá trị đơn hàng, Thanh toán trước, Còn nợ. (Vd: Ngày 1/1/2018 Mình mua của NCC "ABC" tổng đơn hàng: 200.000, đã thanh toán: 100.000 => còn lại 100.000; Ngày 15/1/2018 mình tiếp tục mua của ABC và tiếp nợ lại: 500.000đ Vậy tổng nợ của ABC là 600.000) MÌnh muốn hiện thị 600.000 đó lên như hình Form sau: Nhờ AE GPE giúp đỡ cho. Thanks

=========== Với lại mình muốn hiện thị tiêu đề trong Listbox được ko GPE==================
 

File đính kèm

  • Hinh Excel.jpg
    Hinh Excel.jpg
    58.7 KB · Đọc: 58
  • UserForm.jpg
    UserForm.jpg
    184.7 KB · Đọc: 61
Cái này là do máy tính hiểu mặc định dấu . là dấu phân cách nhóm số. Để hiển thị đúng thì bạn cần replace dấu này đi trước khi gán vào cell. VD
Range("A1").Value=Replace(Textbox1.Value,".","")
 
Upvote 0
Thử định dạng cho TextBox vầy thử xem:
Mã:
txtConNo = Format(Me.txtConNo.Value, "#,##0.00;[Red]#,##0.00")
 
Upvote 0
Upvote 0
Thử định dạng cho TextBox vầy thử xem:
Mã:
txtConNo = Format(Me.txtConNo.Value, "#,##0.00;[Red]#,##0.00")
Ý mình làm code tính tổng có điều kiện trong VBA như thế nào để có được kế quả Còn Nợ theo từng Nhà cung cấp. Khi nhập nhà cung cấp "Tên NCC" như thì thì ô Còn nợ hiện lên.
 
Upvote 0
Cho xin cái file cái, nhìn hình đoán ý là tui chịu
 
Upvote 0
Ý mình làm code tính tổng có điều kiện trong VBA như thế nào để có được kế quả Còn Nợ theo từng Nhà cung cấp. Khi nhập nhà cung cấp "Tên NCC" như thì thì ô Còn nợ hiện lên.
Có thể làm vầy, Dùng Advanced Filter xong load dữ liệu ngược vào Form, tôi nghĩ bạn có thể làm được.
 
Upvote 0
Trong các TextBox,ComboBox,. . . . các trị chứa trong chúng đang là kiểu chuỗi (Text).

Muốn nó là kiểu số để tính toán được thì cần chuyển chúng sang dạng số;

Có 1 cách chuyển đó là viết hàm người dùng; Sau đây là 1 ví dụ:
PHP:
Function StrToDate(StrC As String) As Date
 Dim Nm As Long, Ng As Byte, Th As Byte, VTr As Byte
 Const FC As String = "/" 
 Nm = CLng(Right(StrC, 4)):                 VTr = InStr(StrC, FC)
 If VTr Then
    Ng = CByte(Left(StrC, VTr - 1)):        StrC = Mid(StrC, VTr + 1, 4)
    VTr = InStr(StrC, FC):                  Th = CByte(Left(StrC, VTr - 1))
    StrToDate = DateSerial(Nm, Th, Ng)
 Else
    MsgBox "Sai Ròi!", , "GPE.COM Xin Luu Ý!"
 End If
End Function
 
Upvote 0
Trong các TextBox,ComboBox,. . . . các trị chứa trong chúng đang là kiểu chuỗi (Text).

Muốn nó là kiểu số để tính toán được thì cần chuyển chúng sang dạng số;

Có 1 cách chuyển đó là viết hàm người dùng; Sau đây là 1 ví dụ:
PHP:
Function StrToDate(StrC As String) As Date
Dim Nm As Long, Ng As Byte, Th As Byte, VTr As Byte
Const FC As String = "/"
Nm = CLng(Right(StrC, 4)):                 VTr = InStr(StrC, FC)
If VTr Then
    Ng = CByte(Left(StrC, VTr - 1)):        StrC = Mid(StrC, VTr + 1, 4)
    VTr = InStr(StrC, FC):                  Th = CByte(Left(StrC, VTr - 1))
    StrToDate = DateSerial(Nm, Th, Ng)
Else
    MsgBox "Sai Ròi!", , "GPE.COM Xin Luu Ý!"
End If
End Function
======= Bạn có thể fix trong File giúp mình không???==========
 

File đính kèm

Upvote 0
Chỉ làm cho bạn tham khảo thôi;
Bạn vọc chán thì cho í kiến
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom