Đổi vị trí cột

Liên hệ QC

hcl_pt

Thành viên hoạt động
Tham gia
21/10/10
Bài viết
199
Được thích
10
Chào GPE!
Nhờ GPE giúp đỡ mình code đảo lại vị trí cột trong excel 2007: Ví dụ: trong sheet1: các dữ liệu được nhập theo thứ tự cột từ cột đầu tiên A, B, C,..v.v. cho đến cột cuối. Mình muốn đảo lại vị trí dữ liệu theo cột ở sheet2: cột cuối cùng ở sheet1 thành cột đầu tiên ở sheet2, lần lượt như vậy cho đến cột đầu tiên ở sheet1 trở thành cột cuối cùng ở sheet2.
- Mong GPE giúp đỡ
 
Chào GPE!
Nhờ GPE giúp đỡ mình code đảo lại vị trí cột trong excel 2007: Ví dụ: trong sheet1: các dữ liệu được nhập theo thứ tự cột từ cột đầu tiên A, B, C,..v.v. cho đến cột cuối. Mình muốn đảo lại vị trí dữ liệu theo cột ở sheet2: cột cuối cùng ở sheet1 thành cột đầu tiên ở sheet2, lần lượt như vậy cho đến cột đầu tiên ở sheet1 trở thành cột cuối cùng ở sheet2.
- Mong GPE giúp đỡ
Cái này bạn copy sang sheet kia rồi sort lại là Ok thôi mà
Còn viết code chắc cũng theo trình tự vậy thôi
Bạn thử xem, nếu không được thì đưa file lên nhé
Thân
 
Cái này bạn copy sang sheet kia rồi sort lại là Ok thôi mà
Còn viết code chắc cũng theo trình tự vậy thôi
Bạn thử xem, nếu không được thì đưa file lên nhé
Thân
Nhờ Bạn đổi hộ mình cột trong file này nhé? Nếu bạn làm được trường hợp tổng quát cho file có dữ liệu với số cột và số hàng bất kì thì tốt quá! Cảm ơn bạn!
 

File đính kèm

  • Book1.xlsx
    16.1 KB · Đọc: 7
Bạn xem topic này: Đảo vị trí cột.
PHP:
Sub Mirror() 
Application.ScreenUpdating = False 
Cols = [iv1].End(xlToLeft).Column 
For i = Cols - 1 To 1 Step -1 
  Columns(i).Cut 
  Columns(Cols + 1).Insert shift:=xlToRight 
Next 
Application.ScreenUpdating = True 
End Sub
 
Lần chỉnh sửa cuối:
Chào GPE!
Nhờ GPE giúp đỡ mình code đảo lại vị trí cột trong excel 2007: Ví dụ: trong sheet1: các dữ liệu được nhập theo thứ tự cột từ cột đầu tiên A, B, C,..v.v. cho đến cột cuối. Mình muốn đảo lại vị trí dữ liệu theo cột ở sheet2: cột cuối cùng ở sheet1 thành cột đầu tiên ở sheet2, lần lượt như vậy cho đến cột đầu tiên ở sheet1 trở thành cột cuối cùng ở sheet2.
- Mong GPE giúp đỡ
Với dữ liệu trong bài, bạn cũng có thể dùng code này
Mã:
Public Sub doicot()
    Dim Vung As Range, iCot As Long, iHang As Long, I As Long, J As Long
    Set Vung = [a4].CurrentRegion
        iCot = Vung.Columns.Count
        iHang = Vung.Rows.Count
        J = 1
            For I = 1 To iCot
                Sheets("sheet2").Cells(4, J).Resize(iHang) = Vung.Resize(, 1).Offset(, iCot - I).Value
                J = J + 1
            Next
End Sub
Ở sheet1 bấm Ctrl + m ==> sang sheet2 xem kết quả
 

File đính kèm

  • doicot.rar
    9.1 KB · Đọc: 9
Muốn đảo cột và chuyển sang sheet khác thì thêm 2 dòng lệnh:

PHP:
Sub Mirror()
Application.ScreenUpdating = False
    Sheets("Sheet1").Copy After:=Sheets("Sheet1")
    ActiveSheet.Name = "Mirror"
Cols = [iv1].End(xlToLeft).Column
For i = Cols - 1 To 1 Step -1
    Columns(i).Cut
    Columns(Cols + 1).Insert shift:=xlToRight
Next
Application.ScreenUpdating = True
End Sub
Dùng phương pháp Cut and Paste bảo toàn được công thức, tham chiếu, định dạng, trình bày ...

Dùng phương thức gán như Cò già chỉ gán được giá trị. Dữ liệu ngày tháng bị biến thành số. Sau đó lại còn phải định dạng lại toàn bộ. Định dạng bao gồm cả Font, cỡ Font, Màu ô, màu chữ, dạng dữ liệu, khung viền, độ rộng cột, chiều cao dòng, số thập phân, dấu phân cách hàng ngàn, ngày tháng, canh lề trái phải giữa, ...

Chưa nói các dữ liệu text dạng số như '01 sẽ bị biến thành số 1, rất khó phục hồi.
 

File đính kèm

  • Daocot.rar
    15.8 KB · Đọc: 16
Lần chỉnh sửa cuối:
Muốn đảo cột và chuyển sang sheet khác thì thêm 2 dòng lệnh:

PHP:
Sub Mirror()
Application.ScreenUpdating = False
Sheets("Sheet1").Copy After:=Sheets("Sheet1")
ActiveSheet.Name = "Mirror"
Cols = [iv1].End(xlToLeft).Column
For i = Cols - 1 To 1 Step -1
Columns(i).Cut
Columns(Cols + 1).Insert shift:=xlToRight
Next
Application.ScreenUpdating = True
End Sub
Dùng phương pháp Cut and Paste bảo toàn được công thức, tham chiếu, định dạng, trình bày ...

Dùng phương thức gán như Cò già chỉ gán được giá trị. Dữ liệu ngày tháng bị biến thành số. Sau đó lại còn phải định dạng lại toàn bộ. Định dạng bao gồm cả Font, cỡ Font, Màu ô, màu chữ, dạng dữ liệu, khung viền, độ rộng cột, chiều cao dòng, số thập phân, dấu phân cách hàng ngàn, ngày tháng, canh lề trái phải giữa, ...

Chưa nói các dữ liệu text dạng số như '01 sẽ bị biến thành số 1, rất khó phục hồi.
Hihi, thành ra mới có câu này
Với dữ liệu trong bài, bạn cũng có thể dùng code này
Chứ loại bài này có nhiều cách giải tùy theo dữ liệu và yêu cầu của chủ topic mà Thầy
Cái này ngồi buồn thử cách gán xem sao thôi
Mới ngủ dậy đã bị chọt "zồi"
Híc
 
Web KT
Back
Top Bottom