Đánh giá chủ đề:
  • 3 Votes - 2.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sort List theo Alphabe
#1
Mới lang thang tìm thấy 1 đoạn code cho phép Sort 1 Listbox theo Alphabe. Mời mọi người tham khảo, có gì thắc mắc cứ comment hỏi nhé!

Mã:
Function SortListBox(objListBox As ListBox)
    Dim intFirst As Integer
    Dim intLast As Integer
    Dim intNumItems As Integer
    Dim i As Integer
    Dim j As Integer
    Dim strTemp As String
    Dim MyArray() As Variant

    'Re-Dim the array
    ReDim MyArray(objListBox.ListCount - 1)

    'Get upper and lower boundary
    intFirst = LBound(MyArray)
    intLast = UBound(MyArray)

    'Set array values
    For i = LBound(MyArray) To UBound(MyArray)
    MyArray(i) = objListBox.ItemData(i)
    Next i

    'Loop through array values to determine sort
    For i = intFirst To intLast - 1
    For j = i + 1 To intLast
    If MyArray(i) > MyArray(j) Then
    strTemp = MyArray(j)
    MyArray(j) = MyArray(i)
    MyArray(i) = strTemp
    End If
    Next j
    Next i

    'Remove all items
    For i = intLast - 1 To intFirst Step -1
    objListBox.RemoveItem i
    Next i

    'Add all items in order
    For i = intFirst To intLast - 1
    objListBox.AddItem MyArray(i), i
    Next

    End Function
Bạn tạo 1 module mới rồi copy đoạn code trên vào.
tạo 1 form, tạo 1 listbox và 1 nút nhất. Để tên mặc định hết cho nhanh nha.
Row source type của lis bạn chọn Value list
Row Source bạn điền: "Rượu;Socola;Bánh;Bao Bì;Bột Ngọt;Cà Chua;Chanh;Đường;Gạo;Hành;Kem Đánh Răng;Khoai Tây;Mì Gói;Mức;Muối;Ớt;Sữa;Tiêu;Hộp quẹt"

hoặc gì tùy bạn

Trong event click nút nhấn, bạn gọi:

Mã:
Private Sub Command1_Click()
    Call SortListBox(List0)
    End Sub


Mời xem demo:
SortList
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn hoangthanhhai , haquocquan
#2
(27-08-10, 09:56 AM)Noname Đã viết: Mới lang thang tìm thấy 1 đoạn code cho phép Sort 1 Listbox theo Alphabe. Mời mọi người tham khảo, có gì thắc mắc cứ comment hỏi nhé!



Mời xem demo:
SortList

Bạn ơi mình có sort được theo ComboBox được không nhỉ?
Mình có tạo form nhập liệu có 1 ComboBox
- Row Source Type: Table/Query
- Row Soure: Q_Chucdanh (Ma_CV; Chucdanh)

Trong Query (Q_chucdanh) mình đã sort theo Ma_CV và đã ok; nhưng trong ComboBox của mình thì nó lại không sort theo Ma_CV mà nó lại sắp xếp theo thứ tự Ma_CV nào nhập vào trước thì nó có trước.

Ví dụ:
Trong Table mình nhập như sau:
Ma_CV Chudanh
0101 Giám đốc
0201 Trưởng phòng Thương mại
0102 Phó Giám đốc
0201 Phó phòng Thương mại

Trong Query và Table mình đã sort
Ma_CV Chudanh
0101 Giám đốc
0102 Phó Giám đốc
0201 Trưởng phòng Thương mại
0201 Phó phòng Thương mại

Nhưng trong ComboBox nó vẫn hiện là
Ma_CV Chudanh
0101 Giám đốc
0201 Trưởng phòng Thương mại
0102 Phó Giám đốc
0201 Phó phòng Thương mại

Cho mình hỏi là làm cách nào để Combo nó vẫn sort được nhỉ, vì hiện tại mình mới có 1 số chức danh công việc sau này sẽ phát sinh nhiều chức danh mới.

Thanks
Chữ ký của hoangthanhhai Xin chào, mình là hoangthanhhai, Tham gia http://thuthuataccess.com/forum từ ngày 20-04 -11.
Reply
Những người đã cảm ơn
#3
Row Soure: Q_Chucdanh (Ma_CV; Chucdanh)
nhập thêm acsending vào cái collum ma_cv
Chữ ký của donxxiii Xin chào, mình là donxxiii, Tham gia http://thuthuataccess.com/forum từ ngày 15-10 -11.
Reply
Những người đã cảm ơn Noname
#4
(27-08-10, 09:56 AM)Noname Đã viết: 'Remove all items
For i = intLast - 1 To intFirst Step -1
objListBox.RemoveItem i
Next i

'Add all items in order
For i = intFirst To intLast - 1
objListBox.AddItem MyArray(i), i
Next

Remove all và add all thay intLast - 1 = intLast bạn ah.
Chữ ký của kagetsu Xin chào, mình là kagetsu, Tham gia http://thuthuataccess.com/forum từ ngày 21-02 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Thủ Thuật] [Video+Demo] 2 Cách Tạo Số tăng dần và Reset theo nhu cầu maidinhdan 19 1,014 28-08-17, 12:34 PM
Bài mới nhất: maidinhdan
  Hướng Dẫn Xin cách xổ list kết quả khi đánh chữ trong form datasheet tien1505 10 373 02-07-17, 01:23 PM
Bài mới nhất: tranthanhan1962
  Tạo số phiếu tăng theo mẫu : date+STT Noname 9 4,205 24-05-17, 10:23 AM
Bài mới nhất: chuvoicon
  [Help] Hỏi về cách lưu dư liệu từ bảng vba vào file excell theo mong muốn HoangManh 5 364 19-05-17, 04:27 PM
Bài mới nhất: ongke0711
  [Thủ Thuật] Ẩn record trong table theo ngày tháng tvn_hut 6 895 24-04-16, 01:00 AM
Bài mới nhất: tvn_hut

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ