Lấy dữ liệu từ Range vào Listbox thông qua RefEdit

  • Thread starter Thread starter Miccpro
  • Ngày gửi Ngày gửi
Liên hệ QC

Miccpro

Thành viên thường trực
Tham gia
9/12/10
Bài viết
236
Được thích
10
Em có 1 Form gồm 1 Listbox, 1 RefEdit và 1 CommandButton. Em muốn khi em nhập giá trị Range thông qua RefEdit vào Listbox thì tự động bỏ qua các cột, hàng đang hide, chỉ lấy những cột, hang unhide được không ạ? Mong mọi người giúp đỡ, em xin cảm ơn!
 

File đính kèm

Em có 1 Form gồm 1 Listbox, 1 RefEdit và 1 CommandButton. Em muốn khi em nhập giá trị Range thông qua RefEdit vào Listbox thì tự động bỏ qua các cột, hàng đang hide, chỉ lấy những cột, hang unhide được không ạ? Mong mọi người giúp đỡ, em xin cảm ơn!
Không hiểu sao cái Code này nó lại dài thế chứ nị
PHP:
Private Sub CommandButton1_Click()
    Dim i As Long, Rng As Range, sArr, K As Long, J As Long
    Dim aTmp(), n As Long, Str  As String, mypoints As Double
    Dim dArr(), idx As Long
On Error GoTo Thoat
Set Rng = Range(RefEdit1)
If Rng.Rows.Count Then
    For J = 1 To Rng.Columns.Count
        If Rng(1, J).EntireColumn.Hidden = False Then
            n = n + 1
            ReDim Preserve aTmp(1 To n)
            aTmp(n) = J
            mypoints = Rng(1, J).Width
            Str = IIf(Str = "", mypoints, Str & ";" & mypoints)
        End If
    Next J
    ReDim sArr(1 To Rng.Rows.Count, 1 To n)
    For i = 1 To Rng.Rows.Count
        If Rng(i, 1).EntireRow.Hidden = False Then
            K = K + 1
            For J = LBound(aTmp) To UBound(aTmp)
                sArr(K, J) = Rng(i, aTmp(J))
            Next J
        End If
    Next i
    ReDim dArr(1 To K, 1 To UBound(sArr, 2))
    For i = 1 To K
        idx = idx + 1
        For J = 1 To UBound(sArr, 2)
            dArr(idx, J) = sArr(i, J)
        Next J
    Next i
    With ListBox1
        .ColumnCount = n
        .ColumnWidths = Str
        .List() = dArr
    End With
End If
Thoat:
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom