hacklongem
Thành viên mới

- Tham gia
- 13/9/09
- Bài viết
- 14
- Được thích
- 0
Option Explicit
Sub gpeXepLai()
Dim Cls As Range, Rng As Range
Dim jJ As Byte
[n1].CurrentRegion.Offset(1).Clear
For Each Cls In Range([b5], [b5].End(xlDown))
Set Rng = Cls.Offset(, 1).Resize(, 9)
For jJ = 1 To 9 Step 2
If Rng(jJ).Value = "" Then Exit For
With [N65500].End(xlUp)
Rng(jJ).Resize(, 2).Copy Destination:=.Offset(1)
If jJ = 1 Then .Offset(1, -1) = Cls.Offset(, -1).Value
End With
Next jJ
Next Cls
End Sub
cám ơn bạn. Nhưng vẫn thiếu cột B vùng dữ liệu cần trước khi sắp xếp.
(Xin lỗi là mình không biết đưa lên box nào nữa.)
Một cách viết:cám ơn bạn. Nhưng vẫn thiếu cột B vùng dữ liệu cần trước khi sắp xếp.
(Xin lỗi là mình không biết đưa lên box nào nữa.)
Public Sub SapXep()
Dim Vung, I, J, K, Kq
Vung = [B5:H8]
ReDim Kq(1 To UBound(Vung) * 4, 1 To 3)
For I = 1 To UBound(Vung)
K = K + 1: Kq(K, 1) = I: Kq(K, 2) = Vung(I, 1)
For J = 2 To 6 Step 2
If Vung(I, J) <> "" Then
K = K + 1
Kq(K, 2) = Vung(I, J): Kq(K, 3) = Vung(I, J + 1)
End If
Next J
Next I
[Q2:S1000].ClearContents
[Q2].Resize(K, 3) = Kq
End Sub
Cám ơn bạn nhiều . Đúng ý đồ của mình rồi. Đây là file thực tế bạn giúp mình luôn nha. Cám ơn bạn nhiều (file update nha)Một cách viết:
Kết quả ở cột [Q]Mã:Public Sub SapXep() Dim Vung, I, J, K, Kq Vung = [B5:H8] ReDim Kq(1 To UBound(Vung) * 4, 1 To 3) For I = 1 To UBound(Vung) K = K + 1: Kq(K, 1) = I: Kq(K, 2) = Vung(I, 1) For J = 2 To 6 Step 2 If Vung(I, J) <> "" Then K = K + 1 Kq(K, 2) = Vung(I, J): Kq(K, 3) = Vung(I, J + 1) End If Next J Next I [Q2:S1000].ClearContents [Q2].Resize(K, 3) = Kq End Sub
Thân
Dữ liệu các cột [C[, [E], [G], , [K], [M] nên thống nhất một kiểu khi không có dữ liệu ( thí dụ dùng dấu "-" thì nên dùng toàn bộ) để kết quả không bị lỗiCám ơn bạn nhiều . Đúng ý đồ của mình rồi. Đây là file thực tế bạn giúp mình luôn nha. Cám ơn bạn nhiều