Duyêt nhiều mảng khác nhau

Liên hệ QC

chucuoi92

Thành viên lười biếng
Tham gia
11/9/09
Bài viết
850
Được thích
488
Giới tính
Nam
Nghề nghiệp
Chăn trâu
Em xin chào các Sư phụ, đại ca, đại tỉ (xin mạn phép xưng em)

Em có nhiều mảng cùng số cột vả khác dòng trên cùng một sheet
HTML:
GI_1 = Sheet3.Range(
 
Lần chỉnh sửa cuối:
Cám ơn 2 anh quanghai1969 sealand.
Quahướng dẫn của 2 anh em đã giải quyết được vấn đề của mình,và đã có thêm một cách nữa :
PHP:
Sub test()
Dim a(1 To 16), vung As String, k, m
With Sheet1
    For i = 1 To 16
        vung = Application.WorksheetFunction.Choose(i,
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn 2 anh quanghai1969 sealand.
Quahướng dẫn của 2 anh em đã giải quyết được vấn đề của mình,và đã có thêm một cách nữa :
Mã:
Sub test()
Dim a(1 To 16), vung As String, k, m
With Sheet1
    For i = 1 To 16
        [COLOR=#ff0000]vung = Application.WorksheetFunction.Choose(i, "B18:J23", "B29:J34", "B40:J45", "B51:J56", "B62:J67", "B73:J78", "B84:J89", "B95:J100", "B106:J111", "B117:J122", "B128:J133", "B139:J144", "B150:J165", "B171:J186", "B192:J207", "B213:J228")[/COLOR]
            a(i) = .Range(vung)
               Sheet2.Range("A65000").End(xlUp).Offset(1) = "vung:" & vung
                 For k = 1 To UBound(a(i))
                      If a(i)(k, 1) <> "" Then
                          rg = Sheet2.Range("A65000").End(xlUp).Row + 1
                           For m = 1 To 9
                            Sheet2.Range("A" & rg).Offset(, m - 1) = a(i)(k, m)
                           Next m
                      End If
                Next
    Next
End With
End Sub

Đoạn màu đỏ RẤT THỪA và DỞ ẸC
Trong khi ta có thể truy cập mảng theo chỉ số Index thì tại sao phải WorksheetFunction.Choose?
 
Upvote 0
Cám ơn 2 anh quanghai1969 sealand.
Quahướng dẫn của 2 anh em đã giải quyết được vấn đề của mình,và đã có thêm một cách nữa :
PHP:
Sub test()
Dim a(1 To 16), vung As String, k, m
With Sheet1
    For i = 1 To 16
        vung = Application.WorksheetFunction.Choose(i, "B18:J23", "B29:J34", "B40:J45", "B51:J56", "B62:J67", "B73:J78", "B84:J89", "B95:J100", "B106:J111", "B117:J122", "B128:J133", "B139:J144", "B150:J165", "B171:J186", "B192:J207", "B213:J228")
            a(i) = .Range(vung)
               Sheet2.Range("A65000").End(xlUp).Offset(1) = "vung:" & vung
                 For k = 1 To UBound(a(i))
                      If a(i)(k, 1) <> "" Then
                          rg = Sheet2.Range("A65000").End(xlUp).Row + 1
                           For m = 1 To 9
                            Sheet2.Range("A" & rg).Offset(, m - 1) = a(i)(k, m)
                           Next m
                      End If
                Next
    Next
End With
End Sub
Không biết tại sao bạn lại chọn cách này và ổn thế nào thì mình không rõ nhưng nhìn tổng quát thì thấy nó kỳ cục lắm.
 
Upvote 0
Web KT

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

Back
Top Bottom