Giúp về chuyển đổi dữ liệu trọng hàng & cộtt

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

swormvn

Thành viên mới
Tham gia
17/9/09
Bài viết
2
Được thích
0
Mình đang cần chuyển đổi cột thành hàng và thêm vào các thông tin. Chi tiết tại file excel các bạn xem giúp mình với vì nói cũng hơi khó mong các bạn thông cảm. Cám ơn các bạn nhiều
 
Mình đang cần chuyển đổi cột thành hàng và thêm vào các thông tin. Chi tiết tại file excel các bạn xem giúp mình với vì nói cũng hơi khó mong các bạn thông cảm. Cám ơn các bạn nhiều

Gửi cho bạn tham khảo
Thân
 

File đính kèm

ThanhPhương ơi Carisa không load được file của bạn (chắc tại mạng)
bạn có thể email vào ngocphuong.bui@gmail.com cho mình không
Carisa cám ơn.
 
Các bạn down file excel theo link này giúp mình. Mình không upload được lên diễn đàn

http://www.mediafire.com/?sharekey=38ccb71e8391c05fd1014a7a667fa2b4e04e75f6e8ebb871
Nếu biết dùng VBA thì thử với code này:
PHP:
Sub Test()
  Dim iR As Long, iC As Long, i As Long
  On Error Resume Next
  With Application.InputBox("Chon vung", Type:=8)
    For iR = 1 To Intersect(.Offset(1), .Resize(, 1)).Rows.Count
      For iC = 1 To Intersect(.Offset(, 1), .Resize(1)).Columns.Count
        i = i + 1
        ActiveCell(i, 1) = .Cells(iR + 1, 1) & "-" & .Cells(1, iC + 1)
        ActiveCell(i, 2) = .Cells(iR + 1, iC + 1)
      Next iC
    Next iR
  End With
End Sub
Code có thể trích lọc nội trong 1 sheet hoặc từ sheet này sang sheet khác vô tư
 
Ah... thêm 1 chiêu khác ---> 1 vòng lập (tốc độ như nhau)
PHP:
Sub Test()
  Dim Clls As Range, i As Long
  On Error Resume Next
  With Application.InputBox("Chon vung", Type:=8)
    For Each Clls In Intersect(.Offset(1, 1), .Cells)
      i = i + 1
      ActiveCell(i, 1) = .Parent.Cells(Clls.Row, .Column) & "-" & .Parent.Cells(.Row, Clls.Column)
      ActiveCell(i, 2) = Clls
    Next Clls
  End With
End Sub
 
Thêm cách dùng công thức tham khảo cho vui :-=
 

File đính kèm

Ah... thêm 1 chiêu khác ---> 1 vòng lập (tốc độ như nhau)
PHP:
Sub Test()
  Dim Clls As Range, i As Long
  On Error Resume Next
  With Application.InputBox("Chon vung", Type:=8)
    For Each Clls In Intersect(.Offset(1, 1), .Cells)
      i = i + 1
      ActiveCell(i, 1) = .Parent.Cells(Clls.Row, .Column) & "-" & .Parent.Cells(.Row, Clls.Column)
      ActiveCell(i, 2) = Clls
    Next Clls
  End With
End Sub
--------
Đọc 2 code này chẳng hiểu tí gì ( tự trách mình ), xử dụng thì thấy hay lắm, vận dụng tốt sẽ giải quyết nhiều vấn đề.
Xin phép cho hỏi thêm:
- Nếu trích ra 1 vùng cố định theo yêu cầu có được không ?
- Nếu chọn vùng không liên tục thì giải quyết ra sao ( ví dụ: ABCD, chọn ABC => OK, chọn ACD thì ? )
Chào chú.
 
--------
Đọc 2 code này chẳng hiểu tí gì ( tự trách mình ), xử dụng thì thấy hay lắm, vận dụng tốt sẽ giải quyết nhiều vấn đề.
Xin phép cho hỏi thêm:
- Nếu trích ra 1 vùng cố định theo yêu cầu có được không ?
- Nếu chọn vùng không liên tục thì giải quyết ra sao ( ví dụ: ABCD, chọn ABC => OK, chọn ACD thì ? )
Chào chú.
Nếu là em thì em làm như sau:
- Chọn vùng không liên tục và copy nó sang 1 vùng tạm
- Sau khi paste xong, đương nhiên vùng không liên tục này sẽ trờ thành liên tục
- Dùng code lọc như em trình bày ở trên
- Ra kết quả xong, xóa luôn vùng tạm
------------
Hướng đi này thật đơn giản, em nghĩ anh vẫn có thể nghĩ ra được, đúng không?
 
Nếu là em thì em làm như sau:
- Chọn vùng không liên tục và copy nó sang 1 vùng tạm
- Sau khi paste xong, đương nhiên vùng không liên tục này sẽ trờ thành liên tục
- Dùng code lọc như em trình bày ở trên
- Ra kết quả xong, xóa luôn vùng tạm
------------
Hướng đi này thật đơn giản, em nghĩ anh vẫn có thể nghĩ ra được, đúng không?
--------
Dữ liệu thật thì vài trăm dòng, vài chục cột => lo copy, paste từng cột => oải.
Anh làm được rồi chú à: move or copy => xóa cột thừa => khỏe :-=
 
--------
Dữ liệu thật thì vài trăm dòng, vài chục cột => lo copy, paste từng cột => oải.
Anh làm được rồi chú à: move or copy => xóa cột thừa => khỏe :-=
Thì anh làm cách gì cũng được, chỉ là hướng đi... còn nếu làm thật ta đâu có làm bằng tay ---> Tay phải viết toàn bộ thành code chứ
Ẹc... Ẹc...
 
Thì anh làm cách gì cũng được, chỉ là hướng đi... còn nếu làm thật ta đâu có làm bằng tay ---> Tay phải viết toàn bộ thành code chứ
Ẹc... Ẹc...
-----
Thực tế làm bằng tay => chửa cháy thôi chú à, số liệu thật của anh lúc nào cũng >= 31 cột (không nói đến số dòng), cứ đưa qua rồi đưa lại => chóng mặt. Anh thấy file của tác giả sản phẩm là ghế, bàn => cùng ngành gổ => 1 sản phẩm không biết bao nhiêu là chi tiết => không biết bao nhiêu là sản phẩm => Vì thế anh mới:
Xin phép cho hỏi thêm:
- Nếu chọn vùng không liên tục thì giải quyết ra sao ?

Than ôi !
Đọc 2 code này chẳng hiểu tí gì ( tự trách mình ), xử dụng thì thấy hay lắm, vận dụng tốt sẽ giải quyết nhiều vấn đề.
 
Web KT

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

Back
Top Bottom