Sub test()
Dim a(1 To 16), vung As String, k, m
With Sheet1
For i = 1 To 16
vung = Application.WorksheetFunction.Choose(i,
Cám ơn 2 anh quanghai1969 và 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
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.Cám ơn 2 anh quanghai1969 và 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