Thắc mắc OFFSET combobox loại bỏ ô trống

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Cafe Kem No.1

Thành viên mới
Tham gia
4/11/14
Bài viết
6
Được thích
0
Chào mọi người,
Do tính chất sắp xếp nên bắt buộc phải chừa ra nhưng ô trống,
Vì vậy cho mình hỏi có cách nào sử OFFSET hoặc bất cứ cách nào khác trong Name manager để tạo vùng dữ liệu gán cho Combobox mà chỉ lấy những dòng có dữ liệu thôi không? (Không lấy dòng blank).
Và hình như OFFSET nó cũng không lấy hết dữ liệu khi cột đó có chứa những ô trống nữa -+*/
Nhờ mọi người xem xét giúp đỡ với ạ -+*/

1669527967300.png
1669528084795.png
 

File đính kèm

  • Test.xlsb
    22.3 KB · Đọc: 7
Giải thích:
- Name tạo bằng offset kiểu này thì name lấy luôn các ô trống
- CountA đếm những ô không trống. 100 ô mà có 5 ô trống thì chỉ đếm được 95, vậy thì Offset chỉ lấy 95.

Xử lý:
Dùng vòng lặp duyệt qua tất cả dòng, chỉ khi nào có dữ liệu mới add vào Combobox:

PHP:
Private Sub UserForm_Initialize()
Dim SArr(), LastRw As Long, ListArr(), k As Long
LastRw = Sheet2.Range("H20000").End(xlUp).Row
SArr = Sheet2.Range("H3:H" & LastRw).Value
k = - 1
For i = 1 To UBound(SArr, 1)
    If Len(SArr(i, 1)) > 0 Then
        k = k + 1
        ReDim Preserve ListArr(k)
        ListArr(k) = SArr(i, 1)
    End If
Next
Me.ComboBox1.List = ListArr
End Sub

Hoặc dùng phương thức AddItem

PHP:
Me.ComboBox1.AddItem SArr(i, 1)
 
Upvote 0
Web KT

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

Back
Top Bottom