Chuyển cột và dòng thành cột

  • Thread starter PINKERJAGA
  • Ngày gửi
P

PINKERJAGA

Guest
10/1/11
2
0
0
36
tp hcm
Ban đầu mình có dữ liệu như sau:
MKH TÊN KHÁCH HÀNG ACE001-TW-005 ACE002-KR-001 ALK001-ID-002 ALK001-ID-008 ALK001-ID-031 ASC001-CN-002 BUT001-TW-001 BUT002-MY-003 CAL003-CN-001 CAL003-JP-002 CAR002-DE-003 CIT001-CN-002 CIT001-CN-003 DEX001-CN-002 DEX001-CN-010 ETH002-CN-008
AA BB CC BB EE FF GG HH II JJ KK LL MM NN OO PP
K-CNG-1558 A - 1,800 - - - - - - - - - - - - - -
K-CNG-0324 B - 120 - - - - - - - - - - 1,000 - - -
K-CNG-0548 C 1,280 90 - - - - - - - - - - - - - -
K-CNG-0395 D - 900 - - - - - - - - - - 250 - - -
K-CNG-1432 E - 300 - - - - - - - - - - - - - -
K-CNG-0623 F - - - - - - - - - - - - - - - -
K-CNG-1750 G - - - - - - - - - - - - 1,000 300 - -
K-CNG-1234 H - 1,800 - - - - - - - - - - - - - -
K-CNG-1219 I 160 - - - - - - - - - - - - - - -
K-CNG-1071 J - - - - - - - - - - - - 500 500 - -
K-CNG-1233 K - 300 - - - - - - - - - - - - - -
K-CNG-1447 L 160 - - - - - - - - - - - 250 - - -
K-CNG-1224 M - - - - - - - - - - - - 150 1,000 - -
K-CNG-1068 N - - - - - - - - - - - - - - - -
K-CNG-0371 O - 600 - - - - - - - - - - 300 - - -
Mình muốn chuyển thành dạng
MH DÒ TÊN HÀNG MKH TÊN KH SL
ACE001-TW-005 AA K-CNG-0472 A 640
K-CNG-1542 B 1,920
T-HCM-0029 D 1,600
K-CNG-1356 E 640
K-CNG-1692 F 160
ACE002-KR-001 BB K-CNG-0472 D 600
K-CNG-1439 B 6,000
K-CNG-1152 F 2,400
K-CNG-1045 A 150
K-CNG-0485 E 900
K-CNG-0038 C 900
ALK001-ID-008 CC K-CNG-1230 A 800
K-CNG-1230 B 1,800
K-CNG-0472 C 540
K-CNG-0404 D 1,440
K-CNG-0336 E 180
K-CNG-0473 F 360
CIT001-CN-002 DD K-CNG-0406 D 750
K-CNG-0524 F 500
K-CNG-0990 B 1,000
K-CNG-0472 A 2,000
K-CNG-1164 C 500
K-CNG-1439 E 250
Các bạn chỉ mình cách lấy số liệu nhanh nhất có thể nhé! Thanks rất nhiều.
Lưu ý: Bảng biểu chỉ làm rõ ý mình cần mọi người giúp.
 
Khóa học Quản trị dòng tiền
K

kimsinh

Guest
20/9/08
20
3
3
36
Hải Phòng City
Ðề: Chuyển cột và dòng thành cột

Bạn sử dụng Data filevot table ý
 
P

PINKERJAGA

Guest
10/1/11
2
0
0
36
tp hcm
Ðề: Chuyển cột và dòng thành cột

Mình làm từng cột zạ hả bạn, không còn cách nào nhanh hơn vậy mọi người?
 
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Ðề: Chuyển cột và dòng thành cột

Mình làm từng cột zạ hả bạn, không còn cách nào nhanh hơn vậy mọi người?
Bạn thử chiêm nghiệm với macro này xem sao:

Mã:
Option Explicit
[B]Sub GPE()[/B]
 Dim Rng As Range, Cls As Range, nRg As Range, Cll As Range, Rg0 As Range
 Dim Rw As Long, R0 As Long, Ten As String, Ma As String, Arr()
 
 Rw = 9 * [b1].CurrentRegion.Rows.Count
 Arr = Array("MHg", "Ten Hg", "MKH", "TenKH", "SoLg")
 [aa1].Resize(, 5).Value = Arr
 [ab1].CurrentRegion.Offset(1).Resize(Rw).ClearContents
 For Each Cls In Range([c1], [c1].End(xlToRight))
    On Error Resume Next
    Set nRg = Cls.Offset(2).Resize(Rw).SpecialCells(xlCellTypeConstants, 1)
    Err = 0
    If Not nRg Is Nothing Then
        For Each Cll In nRg
            If Cll.Value > 0 Then
                R0 = Cells(Rw, "AC").End(xlUp).Offset(1).Row
                Ten = Cls.Value:                Ma = Cls.Offset(1).Value
                With Cells(Rw, "AC").End(xlUp).Offset(1)
                    .Resize(, 2).Value = Cells(Cll.Row, "A").Resize(, 2).Value
                    Set Rg0 = Cells(Rw, "AA").End(xlUp)
                    If Rg0.Value <> Ten Then
                        .Offset(, -2).Value = Ten
                        .Offset(, -1).Value = Ma
                        .Offset(, -2).Interior.ColorIndex = 34 + (R0 Mod 9)
                    End If
                    .Offset(, 2).Value = Cll.Value
                End With
            End If
        Next Cll
        Set nRg = Nothing
    End If
 Next Cls
[B]End Sub[/B]

Chú í: Lần sau đưa dữ liệu chỉnh chu hơn & Bỡi vậy nên mình sẽ không gởi file, 1 khi bạn không sửa lại Table thứ 2 bên trên.
 

Similar threads

S
Trả lời
91
Lượt xem
35K
N

Xem nhiều

Webketoan Zalo OA