Định dạng trong listBox

Liên hệ QC

sonthanhnguyen0601

Thành viên mới
Tham gia
4/3/07
Bài viết
1
Được thích
0
Xin cho mình hỏi một tí . làm sao có thể định dạng theo kiêu số (VD : 1000 la 1,000) . Trên listbox mình mò hoài vẫn không ra. Xin các anh chị nào biết giúp dùm em a.
 

File đính kèm

  • help.JPG
    help.JPG
    119.6 KB · Đọc: 403
ban lam thu xem:
Private Sub gtsauthue_Change()
Me.gtsauthue = Format(Me.gtsauthue, "#,##0")


End Sub
 
Upvote 0
Bạn thử như sau:

Lưu ý việc canh phải trái trong Listbox tất cả các cột chung nhau


Ngoài cách của anh Sealand ra, cách nhanh nhất là gán rowsource cho ListBox, thì không cần phải dùng thủ tục nào cả, chỉ cần định dạng sẳn trong sheet như thế nào, thì listbox sẽ ra như thế đó.

(Mượn File của anh Sealand)
 

File đính kèm

  • Copy of Vidu 1.xls
    31 KB · Đọc: 250
Lần chỉnh sửa cuối:
Upvote 0
Ngoài cách của anh Sealand ra, cách nhanh nhất là gán rowsource cho ListBox, thì không cần phải dùng thủ tục nào cả, chỉ cần định dạng sẳn trong sheet như thế nào, thì listbox sẽ ra như thế đó.

Bạn Nghĩa ơi, mình làm theo cách của bạn nhưng sao bị báo lỗi là Run-time error '70': Permission denied nhỉ.
Bạn giúp mình với

quần áo trẻ em | quan ao tre em | quần áo sơ sinh | quần áo bé trai | quần áo bé gái | bodysuit carter | quan ao so sinh | quan ao tre em nhap khau
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn Nghĩa xem file đính kèm giúp mình nhé. Nhân tiện mình muốn nhờ bạn xem có cách gì để trên listbox mình có thể định dạng cột số liệu thì canh phải còn cột chỉ tiêu thì canh trái được không. Và nếu mình muốn một số dòng được tô đậm thì có thể làm được không. Mình cảm ơn bạn nhé

quần áo trẻ em | quan ao tre em | quần áo sơ sinh | quần áo bé trai | quần áo bé gái | bodysuit carter | quan ao so sinh | quan ao tre em nhap khau
 

File đính kèm

  • BCTC.xls
    61.5 KB · Đọc: 46
Lần chỉnh sửa cuối:
Upvote 0
Bạn Nghĩa xem file đính kèm giúp mình nhé. Nhân tiện mình muốn nhờ bạn xem có cách gì để trên listbox mình có thể định dạng cột số liệu thì canh phải còn cột chỉ tiêu thì canh trái được không. Và nếu mình muốn một số dòng được tô đậm thì có thể làm được không. Mình cảm ơn bạn nhé
Tôi nghi lắm mà! Khi bạn dùng RowSource thì làm ơn xóa cái này đi cái!

Private Sub UserForm_Initialize()
ListBox1.List = Sheet1.[AE126:AK246].Value
End Sub

Không thể "ngốn" 1 lúc 2 cái vô miệng được đâu!

ListBox chỉ canh trái, canh phải, canh giữa cho tất cả các cột, không thể thế này thế kia nha bạn. Đồng thời cũng chỉ có 1 màu nền và một màu chữ thôi.
 
Upvote 0
Có 1 cách làm giống như vậy đó là dùng mẹo để hiển thị, mẹo đó như thế này:

-Ta canh trái cho Listbox, cột nào cần canh phải thì ta bù cho nó khoảng trống bên phải về bên trái. Ví dụ cho dễ hiểu, cột có độ rộng 10 ký tự, nếu dữ liệu có 2 ký tự thì ta chèn cho nó 8 khoảng trống về bên trái.

-Nếu chỉ chèn như vậy vẫn chưa được vì các ký tự có độ rông khác nhau. Nhưng có font chữ Courier là có độ rộng bằng nhau. Ta set font cho Listbox là font này


Thử xem ví dụ nha
 

File đính kèm

  • Vidu 1.xls
    44.5 KB · Đọc: 106
Upvote 0
Có 1 cách làm giống như vậy đó là dùng mẹo để hiển thị, mẹo đó như thế này:

-Ta canh trái cho Listbox, cột nào cần canh phải thì ta bù cho nó khoảng trống bên phải về bên trái. Ví dụ cho dễ hiểu, cột có độ rộng 10 ký tự, nếu dữ liệu có 2 ký tự thì ta chèn cho nó 8 khoảng trống về bên trái.

-Nếu chỉ chèn như vậy vẫn chưa được vì các ký tự có độ rông khác nhau. Nhưng có font chữ Courier là có độ rộng bằng nhau. Ta set font cho Listbox là font này


Thử xem ví dụ nha

Cho em hỏi, em muốn chèn vô 1 cột nữa (cột thứ 3).
Trên listbox, em chỉnh độ rộng ColumnWidths các cột không được. Nhờ anh giúp đỡ


[GPECODE=vba]Private Sub UserForm_Initialize()
Dim Tm, i, Cw
Cw = Replace(Split(Me.ListBox1.ColumnWidths, ";")(2), "pt", "") * 1
Tm = Sheet1.[A2:D27]
For i = 1 To UBound(Tm, 1)
Tm(i, 2) = Trim(Tm(i, 2))
Tm(i, 4) = Right(String(100, " ") & Format(Tm(i, 4), "#,##0"), Cw)
Next
Me.ListBox1.List() = Tm
End Sub


[/GPECODE]
 
Upvote 0
Cho em hỏi, em muốn chèn vô 1 cột nữa (cột thứ 3).
Trên listbox, em chỉnh độ rộng ColumnWidths các cột không được. Nhờ anh giúp đỡ


[GPECODE=vba]Private Sub UserForm_Initialize()
Dim Tm, i, Cw
Cw = Replace(Split(Me.ListBox1.ColumnWidths, ";")(2), "pt", "") * 1
Tm = Sheet1.[A2:D27]
For i = 1 To UBound(Tm, 1)
Tm(i, 2) = Trim(Tm(i, 2))
Tm(i, 4) = Right(String(100, " ") & Format(Tm(i, 4), "#,##0"), Cw)
Next
Me.ListBox1.List() = Tm
End Sub
[/GPECODE]
Sao không chỉnh hẳn trong ListBox khi thiết kế luôn đi, chỉnh trong code làm chi bạn?
 
Upvote 0
Bạn đưa file ví dụ lên đi, giải thích khó hơn làm ví dụ
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Việc không hiển thị được cột 4 là vì bạn để độ rộng cột 4 lớn quá.
Bạn xem lại file nha
 

File đính kèm

  • Form_Listbox.xlsm
    33.8 KB · Đọc: 85
Upvote 0
Bạn kiểm tra code trong lúc loát form đó.
Cột 4 của mảng nạp vào list...bạn nối định dạng kiểu gì vậy??? nối gì mà right ở đây? chỉ cần định dạng cột này có ngăn cách phần ngàn là được rồi...

Chỉnh độ rộng cột 3 của listbox lên 300pt đi...
Em đã chỉnh cột 3 lên 300pt,
Nối định dạng Right ở đây là định dạng số, canh đều về 1 bên như ở bài #9 của topic này
 
Upvote 0
Bạn kiểm tra code trong lúc loát form đó.
Cột 4 của mảng nạp vào list...bạn nối định dạng kiểu gì vậy??? nối gì mà right ở đây? chỉ cần định dạng cột này có ngăn cách phần ngàn là được rồi...

Chỉnh độ rộng cột 3 của listbox lên 300pt đi...

Câu trả lời không hiểu mục đích.
 
Upvote 0
Với mình thì thà lấy 1 khoảng trống nào đó trên trang tính làm nguồn cho ListBox còn hơn mấy thủ thuật cao siêu này!

Mấy thủ thuật này mình cho là chỉ mang tính học thuật; Chả thực tế là mấy!
 
Upvote 0
Web KT

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

Back
Top Bottom