Hỏi cách Format định dạng cột số cho Combobox gồm nhiều cột

Liên hệ QC

qtm1987

Thành viên thường trực
Tham gia
15/9/09
Bài viết
322
Được thích
231
Nghề nghiệp
Kế toán tổng hợp
Bữa giờ đang tìm hiểu cái Combobox nhiều cột làm sao để Format canh lề cho từng cột mình muốn. Vì trong Combobox các Item hiển thị là dạng Text nên mình nghĩ nếu có Format canh lề cho số về bên phải giống ô trên bảng tính chắc khó. Loay hoay thử các kiểu mình thấy rằng nếu chèn ký tự “_” vào trước Đơn giá rồi dùng các hàm chuỗi Len, Left xác định độ dài cố định cho chuỗi Đơn giá này thì các số hiện ra trên Combobox sẽ rất ngay hàng thẳng lối.
  • Mình cố định độ dài các ký tự trong cột đơn giá là 20 ký tự (khỏi quan tâm canh lề trái phải giữa gì cho mệt, độ dài như nhau thì nhìn vào là thẳng hàng, đơn giá cao lắm là lên hàng tỷ 9 chữ số thôi)
  • Thử các ký tự dấu cách, dấu chấm, dấu phẩy thì thấy hàng bị lệch, chỉ có dấu gạch ngang dưới “_” thì ok (không hiểu tại sao, chắc mỗi ký tự sẽ có quy định độ rộng tương ứng)
  • Format: "#,##0" phải bỏ dấu phẩy thay bằng dấu cách:"# ##0" thì nhìn ngay ngắn
  • Chuột phải vào Combobox > Properties > chỉnh lại:
    • - .Font.Name = “Time New Roman” (thử các font khác thì ko ẩn được dấu “_”, ko hiểu tại sao)
    • - .FontStyle = “Regular”
    • - .Font.Size = 10 (thử cỡ size > 10 thì ko ẩn được dấu “_”, ko hiểu tại sao)
    • thì sẽ không thấy dấu “_” xuất hiện trước số tiền nữa, nhìn dãy số rất đều.Combobox.jpg
Khi viết bằng code thì mình lại không biết ghi sao để Fontstyle là Regular (lỗi báo tại dòng .Font.FontStyle=”Regular”) nên đành chọn đại 1 kiểu là Bold hoặc Italic. Mong mọi người xem chỉ giúp vấn đề này.FontSyle Combobox.JPG
 

File đính kèm

  • Test Format Combobox.xlsm
    231.5 KB · Đọc: 11
Font vd. của Range thì có thuộc tính FontStyle. Font của ComboBox không có thuộc tính FontStyle. Nếu code không thiết lập Bold, Italic, Underline ... thành True (mặc định là False) thì Font đó tương đương với Regular của Font trong Range. Tức mặc định đã là Regular rồi, không cần phải thiết lập và không thể thiết lập vì không có cái gọi là Regular mà chỉ là trạng thái ở thời điểm "chào buổi sáng" tương đương với Regular. Chỉ có thể thay đổi mặc định bằng cách thiết lập Bold, Italic, Underline ... thành True

Hiện thời ComboBox đang có phông chữ đậm do .Font.Bold = True, vì thế hãy thao tác: sửa code thành .Font.Bold = False -> chọn 1 ô trong cột F để chạy code -> bây giờ phông chữ trong ComboBox không còn đậm -> xóa 2 dòng
Mã:
.Font.Italic = False
.Font.Bold = False
-> lưu lại tập tin Excel.

Nhớ là về sau không thiết lập Bold, Italic, Underline ... nếu muốn có cái tương đương với Regular trong Range
 
Upvote 0
Cám ơn anh batman đã giúp. Test thử font khác như Arial có FontStyle là Narrow giờ muốn chọn cũng không code chỉ định được, vậy trong Combobox muốn chọn FontStyle nào thì chỉ click chọn trực tiếp trong Properties chứ không tự động thiết lập bằng code được đúng không anh?
Do khi thử test để mất dấu gạch ngang "_" nên Nếu bỏ in đậm / in nghiêng chữ thì các ký tự trong cột lại bị lệch, giờ nếu mình chuyển code này thành addin để sử dụng thì có phải trong file mới với combobox mới phải setup lại FontStyle trong Properties đúng không anh?
FontSyle Combobox 2.jpg
 
Upvote 0
Đối với Combobox chỉ là cho dễ nhìn thôi, nhưng các font chữ có độ rộng các ký tự khác nhau nên khi thêm chấm hay khoảng trống các số vẫn không đều nhau. Thường thì chỉ đưa về font Courier mới tạm được, các font khác xo dạt lung tung cả.
Nên viết hàm UDF để chèn đối với canh phải hay giữa trong Combobox.
 
Upvote 0
Đối với Combobox chỉ là cho dễ nhìn thôi, nhưng các font chữ có độ rộng các ký tự khác nhau nên khi thêm chấm hay khoảng trống các số vẫn không đều nhau. Thường thì chỉ đưa về font Courier mới tạm được, các font khác xo dạt lung tung cả.
Nên viết hàm UDF để chèn đối với canh phải hay giữa trong Combobox.
Cám ơn anh. Em sẽ tìm hiểu thêm hàm canh lề trong combobox.
 
Upvote 0
Cám ơn anh batman đã giúp. Test thử font khác như Arial có FontStyle là Narrow giờ muốn chọn cũng không code chỉ định được, vậy trong Combobox muốn chọn FontStyle nào thì chỉ click chọn trực tiếp trong Properties chứ không tự động thiết lập bằng code được đúng không anh?
Khi bạn chọn ComboBox trên Form và trong cửa sổ Properties bạn chọn Font thì thấy có cái gọi là Regular. Nhưng tôi đã viết rồi. ComboBox có thuộc tính FONT. Đối tượng FONT của ComboBox không có thuộc tính FontStyle. Đối tượng Range có thuộc tính FONT. Đối tượng Font của Range có thuộc tính FontStyle. Nhưng đối tượng Font của ComboBox KHÔNG CÓ thuộc tính FontStyle. Chấm hết, không nói nhiều, viết nhiều.
 
Upvote 0
Web KT

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

Back
Top Bottom