Hỏi cách Tự động tạo sheet hoặc một file mới bằng cách lọc qua Filter

Liên hệ QC

tueyennhi

Thành viên tích cực
Tham gia
18/10/10
Bài viết
1,192
Được thích
105
Giả sử em có file đính kèm, có cách nào tự động lọc và tạo thành sheet (hoặc một bảng tính mới) với các bộ phận giống nhau không? (Ví dụ toàn bộ người của bộ phận A sẽ tạo thành sheet (hoặc một bảng tính mới) chứa người thuộc bộ phận A, tương tự với các bộ phận còn lại.
Cảm ơn anh chị đã quan tâm :)
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn gửi topic vào box Những vấn đề chung..nhung yêu cầu của bạn phải dùng lập trình VBA mới xử lý được bạn ah.
 
Giả sử em có file đính kèm, có cách nào tự động lọc và tạo thành sheet (hoặc một bảng tính mới) với các bộ phận giống nhau không? (Ví dụ toàn bộ người của bộ phận A sẽ tạo thành sheet (hoặc một bảng tính mới) chứa người thuộc bộ phận A, tương tự với các bộ phận còn lại.
Cảm ơn anh chị đã quan tâm :)
Mình đã sửa theo file của bạn . Thú thực file giả định thì cũng phải giống thật một chút chứ . Mong rằng bạn áp dụng được vào công việc của mình .
TB :
Mình đã sửa file theo ý bạn , thôi thì đã giúp thì giúp cho chót . Nhưng mình cứ thấy nó thế nào ấy .
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn xem file đã được chưa ?
Tuyệt vời, cảm ơn bạn nhé :), cho mình hỏi thêm nếu muốn lấy ở cột mình mong muốn thì chỉnh tham số nào trong code,
Trong Sub tachra()
Application.ScreenUpdating = False
Dim data(), dataloc As Range, ketqua(), i As Long, mahang()
With Sheets("TONG HOP")
data = .Range(.[A3], .[c65536].End(3)).Value
Set dataloc = .Range(.[A2], .[c65536].End(3))
End With
With CreateObject("scripting.dictionary")
For i = 1 To UBound(data)
If Not .exists(data(i, 3)) Then .Add data(i, 3), ""
Next
mahang = .keys
End With
For i = 0 To UBound(mahang)
With dataloc
.AutoFilter 3, mahang(i)
.SpecialCells(12).Copy
Sheets.Add After:=Sheets(Sheets.Count)
With ActiveSheet
.Name = mahang(i)
.[A2].PasteSpecial 1
.[A:c].Columns.AutoFit
End With
.AutoFilter
End With
Next
Sheets("TONG HOP").Select
Application.ScreenUpdating = True
End Sub

Mình chỉnh If Not .exists(data(i, 3)) Then .Add data(i, 3), "" thành If Not .exists(data(i, 2)) Then .Add data(i, 2), "" Thì nó lọc theo cột B, nhưng thử thêm cột D E F rồi thay bằng 6 thì chạy nó báo lỗi @@
 
Lần chỉnh sửa cuối:
Mình chỉnh If Not .exists(data(i, 3)) Then .Add data(i, 3), "" thành If Not .exists(data(i, 2)) Then .Add data(i, 2), "" Thì nó lọc theo cột B, nhưng thử thêm cột D E F rồi thay bằng 6 thì chạy nó báo lỗi @@[/QUOTE]

Bạn sửa data đến cột F, nếu không được thì đưa file lên .
 
Đây bác ơi, mình muốn lấy ở cột H, mà có cách nào để nó lọc giữ nguyên cả định dạng và tiêu đề không? (Như trong file tiêu đề là Trần Văn B
 

File đính kèm

Ý mình là muốn tìm hiểu thêm là để thay đổi cột như mong muốn thì code phải thay đổi tham số nào :). Thêm nữa là code này chỉ lấy giá trị từ cột C (cột được lọc) đổ lại, mình muốn lấy cả giá trị ở những cột D E F... nữa, làm thế nào đây bạn ơi.
 
Lần chỉnh sửa cuối:
.AutoFilter 8, ma(i) với .AutoFilter 3, ma(i) câu lệnh này nghĩa là gì vậy bạn? Và có cách nào copy mà vẫn giữ nguyên định dạng bảng tính được không?
 
Lạ thật, copy cái code này vào file của mình thì không được nhưng copy cả bảng tính của file đó thì nó lại lọc ngon lành @@
 
Được rồi bạn ơi :), còn vụ giữ nguyên định dạng bảng tính có được không bạn??
 
Được rồi bạn ơi :), còn vụ giữ nguyên định dạng bảng tính có được không bạn??
Thực ra mình cũng không quan tâm đến cái vụ giữ nguyên định dạng lắm. Sau khi xem lại không biết bạn định thế nào nữa . File của mình mà không text thử thì ai text cho bạn đây ? Bạn thêm dữ liệu và thay đổi định dang và chay code xem thế nào . Font chữ, bôi màu ....xem sao .
 
Thực ra mình cũng không quan tâm đến cái vụ giữ nguyên định dạng lắm. Sau khi xem lại không biết bạn định thế nào nữa . File của mình mà không text thử thì ai text cho bạn đây ? Bạn thêm dữ liệu và thay đổi định dang và chay code xem thế nào . Font chữ, bôi màu ....xem sao .
Mình thử rồi mà bạn, giữ định dạng là độ giãn các cột giống sheet gốc ấy bạn **~**
 
Web KT

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

Back
Top Bottom