[CLICK] học VBA ở Đà Nẵng tháng 5/2017

Diễn đàn giaiphapexcel.com tạm ngưng cho đăng bài mới để nâng cấp Xem chi tiết

Vào Fanpage của Giaiphapexcel tại đây https://www.facebook.com/giaiphapexcel.vn/

Link group Facebook chính thức của Giaiphapexcel: https://www.facebook.com/groups/797878780268042/


Hiển thị kết quả tìm kiếm từ 1 đến 6 trên tổng số: 6

Ðề tài: Gom dữ liệu từ nhiều cột thành một cột duy nhất.

  1. Gom dữ liệu từ nhiều cột thành một cột duy nhất.

    Nhờ AE giúp đỡ mình a.!!
    Mình có nhiều cột chứ nội dung là các số
    vd:
    cột A có nội dung là 1,2,3
    cột B có nội dung là 2,3,4
    cột C có nội dung là 5,6,7
    Mình muốn gom nội dung lại thành một cột duy nhất là A chứa 1,2,3,4,5,6,7
    Dùng chức năng copy - dán thì rất lâu ạ..
    Xin cám ơn AE rất nhiều...

  2. Trích Nguyên văn bởi xsim_vn View Post
    nhờ ae giúp đỡ mình a.!!
    Mình có nhiều cột chứ nội dung là các số
    vd:
    Cột a có nội dung là 1,2,3
    cột b có nội dung là 2,3,4
    cột c có nội dung là 5,6,7
    mình muốn gom nội dung lại thành một cột duy nhất là a chứa 1,2,3,4,5,6,7
    dùng chức năng copy - dán thì rất lâu ạ..
    Xin cám ơn ae rất nhiều...
    chắc dùng tạm code này xem sao
    Tập tin đính kèm Tập tin đính kèm
    Ở nhà nhất mẹ nhì con
    Ra đường lắm kẻ còn giòn hơn ta


  3. chép dán vào rồi bấm RUN phải không vậy bạn??
    Sao nó không chạy nhỉ, nó hiện ra bảng báo lỗi VBA

  4. Code chạy bình thường, ra kết quả đúng. Lại còn sắp xếp lại kết quả nữa.
    Tuy nhiên, câu lệnh sort là VBA 2007, 2010, Excel 2003 chạy sẽ bị lỗi.

    To Lê Duy Thương:

    1. Đối với sort, chỉ cần sort, không cần filter rồi mới sort.

    2. Ngoài ra, đã dùng Dic, sao không gán dic xuống sheet cho khoẻ? hoặc dùng mảng và gán mảng xuống sheet?

    3. Lại còn câu lệnh này: Select từng ô làm chi cho hao tổn thân gầy?

    Code:
    For Each clls In Range("A1:D" & [A3000].End(3).Row() + 5)
        clls.Select
    4. Sửa Application.ScreenUpdating = False sau đó không trả lại như cũ?

    5. Dùng Dic, thì phải xét thêm nếu không rỗng mới add.

    6. Dữ liệu có 4 cột, xét làm chi đến 5 cột từ A đến E?

    7. Kết quả có 1 cột H, xoá làm chi 6 cột từ E đến J?

    Code chỉ cần như vầy:

    PHP Code:
    Sub SAPXEP()
    Application.ScreenUpdating False
    Sheets
    ("sheet1").Range("H1:H3000").Clear
      Dim clls 
    As RangeDicAs Long
      Set Dic 
    CreateObject("Scripting.Dictionary")
      For 
    Each clls In Range("A1:D" & [A3000].End(3).Row() + 5)
        If 
    Not Dic.Exists(clls.Value) And clls <> "" Then
          Dic
    .Add clls.Value""
          
    1
        End 
    If
      
    Next
    With Range
    ("H6").Resize(i1)
     .
    Value Application.Transpose(Dic.keys)
     .
    Sort Key1:=Range("H6"), Order1:=xlAscendingHeader:=xlNo
    End With
    Application
    .ScreenUpdating True
    End Sub 
    thay đổi nội dung bởi: ptm0412, 04-01-12 lúc 10:48 PM

  5. cảm ơn sư phụ đã chỉ giáo.xin hỏi thêm sư phụ
    hai hòng lệnh
    Cells(i + 5, "H") = clls.Value và Application.Transpose(Dic.keys) sẽ khác nhau như thế nào
    mà khi đệ tử test thì tốc độ giống nhau
    đã sửa lại
    PHP Code:
    Sub SAPXEP()
    Application.ScreenUpdating False
    Sheets
    ("sheet1").Range("h3:h60000").Clear
      Dim clls 
    As RangeDicAs Long
      Set Dic 
    CreateObject("Scripting.Dictionary")
      For 
    Each clls In Range("A1:d" & [A60000].End(3).Row() + 5)
        If 
    Not Dic.Exists(clls.ValueThen
          Dic
    .Add clls.Value""
          
    1
          Cells
    (5"H") = clls.Value
           End 
    If
      
    Next
      Range
    ("H6").Sort Key1:=Range("H6"), Order1:=xlAscendingHeader:=xlNo
       Application
    .ScreenUpdating True
    End Sub 
    thay đổi nội dung bởi: Lê Duy Thương, 06-01-12 lúc 10:44 PM
    Ở nhà nhất mẹ nhì con
    Ra đường lắm kẻ còn giòn hơn ta


  6. Test thử với 50.000 dòng sẽ thấy khác biệt. Dùng timer để tính thời gian:

    PHP Code:
    Sub Test()
    Timer
    ...code ...
    Range("H1") = Timer t
    End Sub 

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •