Làm cách nào để duyệt qua các combobox trên sheet (1 người xem)

Liên hệ QC

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

Quang_Hải

Thành viên gạo cội
Tham gia
21/2/09
Bài viết
6,076
Được thích
8,007
Nghề nghiệp
Làm đủ thứ
Giả sử mình có đoạn code sau. Giờ làm sao để dùng vòng lặp để gán list cho các CB này
Nhờ các anh chị hướng dẫn giúp
PHP:
Sub CB_CHK()
    Sheets("Tonghop").ComboBox1.List = [A5:A10].Value
    Sheets("Tonghop").ComboBox2.List = [B5:B10].Value
    Sheets("Tonghop").ComboBox3.List = [C5:C10].Value
End Sub

Đã tìm ra giải pháp cho vấn đề rồi. Sử dụng cái này

.OLEObjects("Combobox" & J)
 
Lần chỉnh sửa cuối:
Giả sử mình có đoạn code sau. Giờ làm sao để dùng vòng lặp để gán list cho các CB này
Nhờ các anh chị hướng dẫn giúp
PHP:
Sub CB_CHK()
    Sheets("Tonghop").ComboBox1.List = [A5:A10].Value
    Sheets("Tonghop").ComboBox2.List = [B5:B10].Value
    Sheets("Tonghop").ComboBox3.List = [C5:C10].Value
End Sub

Em thì dùng theo cách này:

Mã:
Sub test()  Dim CoboArr1, CoboArr2, CoboArr3
  With Sheet1
    CoboArr1 = .[A5:A10]
    CoboArr2 = .[B5:B10]
    CoboArr3 = .[C5:C10]
    .OLEObjects("ComboBox1").Object.List = CoboArr1
    .OLEObjects("ComboBox2").Object.List = CoboArr2
    .OLEObjects("ComboBox3").Object.List = CoboArr3
  End With
End Sub

Không biết có cách nào khác hay hơn không mong các tiền bối chỉ thêm.
 
Upvote 0
Em thì dùng theo cách này:

Mã:
Sub test()  Dim CoboArr1, CoboArr2, CoboArr3
  With Sheet1
    CoboArr1 = .[A5:A10]
    CoboArr2 = .[B5:B10]
    CoboArr3 = .[C5:C10]
    .OLEObjects("ComboBox1").Object.List = CoboArr1
    .OLEObjects("ComboBox2").Object.List = CoboArr2
    .OLEObjects("ComboBox3").Object.List = CoboArr3
  End With
End Sub

Không biết có cách nào khác hay hơn không mong các tiền bối chỉ thêm.

Dùng thêm 1 biến để tạo vòng lặp
For J = 1 to 3
ActiveSheet.OLEObjects("Combobox" & J).Object.List= gì gì đó
Next
 
Upvote 0
PHP:
For i = 1 To 3
    Sheets("Tonghop").OLEObjects("Combobox" & i).Object.List = [A1:A10].Offset(0, i - 1).Value
Next
 
Upvote 0
Nếu các vùng không liên tục hoặc kích thước khác nhau, không dùng offset được, thì có thể đặt name cho các range data source:

PHP:
For i = 1 To 3
    Sheets("Tonghop").OLEObjects("Combobox" & i).Object.List = Sheet1.Range("Data" & i).Value
Next
 
Upvote 0

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

Back
Top Bottom