Hỏi về cách tách dữ liệu 1 sheet ra nhiều sheet với số dòng như nhau !

Liên hệ QC

free4all

Thành viên mới
Tham gia
5/6/08
Bài viết
18
Được thích
1
Chào các bác !
Em có 1 file dữ liệu về họ tên khách hàng trên 1 sheet gồm 10.000 dòng, em muốn tách ra mỗi sheet chỉ có 2.000 dòng thôi thì làm thế nào (sheet 10.000 dòng kai sẽ tách thành 5 sheet với mỗi sheet mới có 2.000 dòng ) ?
Rất mong các bác giúp cho, cảm ơn các bác !
 
Chào các bác !
Em có 1 file dữ liệu về họ tên khách hàng trên 1 sheet gồm 10.000 dòng, em muốn tách ra mỗi sheet chỉ có 2.000 dòng thôi thì làm thế nào (sheet 10.000 dòng kai sẽ tách thành 5 sheet với mỗi sheet mới có 2.000 dòng ) ?
Rất mong các bác giúp cho, cảm ơn các bác !
chỉ có 5 sheet thôi thì copy bằng tay đi... Tốn có 5 lần thôi chứ mấy
Mà hổng biết tách ra như thế để làm gì nữa?
 
Đó là em ví dụ vậy thôi chứ dữ liệu thật của em thì là rất nhiều, vâng có việc cần thì mới làm vậy ạ !
 
Cách " chuối tí vậy": Dùng hàm IF lồng IF nếu cột số TT <20000 hay gì đó trả về "x" chẳng hạn....sau đó dùng IF và INDEX lấy dữ liệu sang từng sheet.
 
Em chưa rõ lắm, bác có thể hướng dẫn chi tiết 1 chút đc ko, cảm ơn bác !
 
Ví dụ: tôi chỉ chuyển dữ liệu <=20 sang sheet khác, có thể cách làm này hơi thủ công, thông cảm nhé, tôi chưa tìm ra cách khác ngắn gọn hơn.
 

File đính kèm

  • VD.rar
    9.2 KB · Đọc: 74
Cách " chuối tí vậy": Dùng hàm IF lồng IF nếu cột số TT <20000 hay gì đó trả về "x" chẳng hạn....sau đó dùng IF và INDEX lấy dữ liệu sang từng sheet.

Làm cách này thì "chuối" thực sự vì vừa phức tạp mà lại chậm hơn nhiều so với cách copy thủ công (tự mình làm khó cho mình rồi).

@ free4all Nếu muốn tự động hóa công việc thì nên dùng VBA, yêu cầu của bạn tuy không khó nhưng do bạn không gửi File dữ liệu nên chả ai muốn giúp (vì lười tạo file).
 
Rất cảm ơn các bác đã tận tìn giúp đỡ, em xin phép được đính file lên, mong các bác giúp cho, cảm ơn rất nhiều !
 

File đính kèm

  • list.rar
    48.9 KB · Đọc: 53
Rất cảm ơn các bác đã tận tìn giúp đỡ, em xin phép được đính file lên, mong các bác giúp cho, cảm ơn rất nhiều !
Đặt tên sheet chứa dữ liệu là Data rồi chạy code này:
PHP:
Sub SeparateData()
  Dim Sh As Worksheet, DelSh As Worksheet, sRw As Long, n As Long
  On Error GoTo ExitSub
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  Set Sh = Sheets("Data")
  sRw = 2000
  For Each DelSh In ThisWorkbook.Worksheets
    If DelSh.Name <> Sh.Name Then DelSh.Delete
  Next
  With Sh.Range(Sh.[A1], Sh.[A65536].End(xlUp))
    Do Until n * sRw > .Rows.Count
      With Sheets.Add
        .Name = n + 1
        .Move After:=Sheets(Sheets.Count)
      End With
      .Offset(n * sRw).Resize(sRw).Copy Sheets(CStr(n + 1)).Range("A1")
      n = n + 1
      Sheets(CStr(n)).Columns("A:A").AutoFit
    Loop
    Application.Goto .Parent.Range("A1"), True
  End With
ExitSub:
  Application.ScreenUpdating = True
  Application.DisplayAlerts = True
End Sub
 

File đính kèm

  • list.rar
    59.4 KB · Đọc: 181
Em chạy nó báo thế này, giúp em với :
loiex.jpg
 
Các bác đã giúp thì giúp cho trót với ạ, cảm ơn các bác nhiều !
 
Các bác đã giúp thì giúp cho trót với ạ, cảm ơn các bác nhiều !

Mình thấy nó chạy tốt mà!? Trước khi mở file đó ra thì bạn làm như sau nha:
Chọn Tools\Marco\Security...\chọn mục Low và Ok là xong. Khi này bạn mở lại file đó nha.
Chúc bạn thành công!
 
Em có file học sinh trộn vào để đánh số báo danh. Nhờ các bác bây giờ tách ra giúp em thành các lớp, mỗi lớp trên 1 sheet hộ em chút.
 

File đính kèm

  • Test.rar
    29.9 KB · Đọc: 38
Em gửi bài mà chẳng có cao thủ nào giúp, buồn quá! Các anh chị xem giúp với ạ!
 
Anh Hai Lúa Miền Tây có thể giúp em chi tiết được không? Cái PivotTable anh nói thực sự em chưa biết nó là cái gì.
 
Dùng Privottable vẫn chỉ coi như là lọc thôi ạ. Em muốn lấy dữ liệu của nó sang không thôi. Các bác xem có cách gì khác không ạ?
 
Bác ndu96081631 đang online có thể xem và giúp em bài em gửi trên không ạ? Em thấy anh có viết một Sub cho việc tách sheet nhưng sheet số lượng là cố định và không có lọc. Bác có rảnh giúp em yêu cầu trong file Test chút!
 
Web KT

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

Back
Top Bottom