Giúp em lọc dữ liệu tự động qua các sheet (1 người xem)

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

Người dùng đang xem chủ đề này

minhneo

Thành viên mới
Tham gia
15/9/10
Bài viết
11
Được thích
1
Chào anh chị!

Vấn đề của em là em có 1 file tổng hợp học phí ( ở đây là sheet K50 ), trong file này nhập lung tung không theo thứ tự lớp, giờ em muốn tạo cho mỗi tên lớp là 1 sheet rồi copy tự động qua sheet đó, thông thường em lọc bằng tay rồi copy qua. Vấn đề là mấy chục file lọc copy hoài chống mặt. File đính kèm là em làm thủ công. Anh chị có cách nào làm tự động không giúp em với
 

File đính kèm

Chào anh chị!

Vấn đề của em là em có 1 file tổng hợp học phí ( ở đây là sheet K50 ), trong file này nhập lung tung không theo thứ tự lớp, giờ em muốn tạo cho mỗi tên lớp là 1 sheet rồi copy tự động qua sheet đó, thông thường em lọc bằng tay rồi copy qua. Vấn đề là mấy chục file lọc copy hoài chống mặt. File đính kèm là em làm thủ công. Anh chị có cách nào làm tự động không giúp em với

Vấn đề của bạn là lọc sheet này qua sheet khác, vậy các sheet trong file đã tạo đủ chưa hay tạo thêm? Các mục trong các sheet đó đã được lọc rồi hay chưa để tôi còn biết xóa hay để lại?

Hay là phải như vầy:

Tôi sẽ tạo một file mới tinh, chỉ copy 1 sheet K50, sau đó lọc không trùng tên lớp, rồi theo mỗi mục của một lớp tạo thành 1 sheet mới rồi lọc những tên trong lớp đó vào sheet mới tạo này, rồi chạy code liên tục cho đến lớp cuối cùng?
 
Upvote 0
Ý em là file chưa làm gì thì chỉ có sheet K50, trong K50 có cái cột lớp. Em muốn lọc, copy tự động danh sách mỗi lớp ra 1 sheet với tên lớp bằng tên sheet ( có lớp tên dài ngoằn ). Anh chỉ em cách làm luôn nhé

Cám ơn Anh!
 
Upvote 0
Ý em là file chưa làm gì thì chỉ có sheet K50, trong K50 có cái cột lớp. Em muốn lọc, copy tự động danh sách mỗi lớp ra 1 sheet với tên lớp bằng tên sheet ( có lớp tên dài ngoằn ). Anh chỉ em cách làm luôn nhé

Cám ơn Anh!

OK, nhưng hơi lâu tí đấy, ít nhất là cả tiếng đồng hồ viết code rồi kiểm tra lỗi đủ kiểu. Sau khi làm xong tôi sẽ gửi lên cho bạn.
 
Upvote 0
Cho fép mình khuyên chủ topic vài điểm để vận hành CSDL sau này sẽ lưu loát.

(1) Mỗi học viên nên có mã duy nhất.

Nếu bạn đồng í, mình sẽ sẵn giúp.

(2) Cũng vậy với tên lớp, ta tạo ra mã lớp;

Sau này ta vận hành CSDL (cơ sở dữ liệu) thông qua các mã ngắn gọn & khoa học này.
(Nó giống như số CMND sắp tới của nước ta đang rục rịc chuyển đổi.)

(3) Ta chỉ nên tạo ra 1 trang tính như 1 form, để khi cần lớp nào thì trích lọc đem qua trang này.

Quá trình trích lọc cũng thông qua mã tên lớp, chứ không thông qua tên lớp như bạn định làm.

Thân ái.
 
Upvote 0
Cám ơn hai anh.cái file này của đứa em nhờ làm dùm.Nó muốn em làm y như nó làm thủ công vậy mới mệt.a có tài liệu gì học để giải quyết mấy vấn đề này cho em xin về nghiên cứu để làm cho nó. Chứ làm dùm mà design xíu nó cũng không chịu. Cám ơn hai anh!
 
Upvote 0
Cái file này của đứa em nhờ làm dùm.Nó muốn em làm y như nó làm thủ công vậy mới mệt.a có tài liệu gì học để giải quyết mấy vấn đề này cho em xin về nghiên cứu để làm cho nó. Chứ làm dùm mà design xíu nó cũng không chịu. Cám ơn hai anh!
Định vô đây để đưa file làm xong để bạn tham khảo;
Mà bạn viết vậy nên đành bye!
 
Upvote 0
Chào anh chị!

Vấn đề của em là em có 1 file tổng hợp học phí ( ở đây là sheet K50 ), trong file này nhập lung tung không theo thứ tự lớp, giờ em muốn tạo cho mỗi tên lớp là 1 sheet rồi copy tự động qua sheet đó, thông thường em lọc bằng tay rồi copy qua. Vấn đề là mấy chục file lọc copy hoài chống mặt. File đính kèm là em làm thủ công. Anh chị có cách nào làm tự động không giúp em với
Bạn xem cách này nha. Dù sao thì cũng chỉ xem có 1 sheet thôi mà. Thay đổi chọn lựa tại D2 sẽ có kết quả mới. Hên xui nha
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Định vô đây để đưa file làm xong để bạn tham khảo;
Mà bạn viết vậy nên đành bye!

Đúng như chị HYen17 nói, thông thường tên sheet không dài quá 31 ký tự, và chưa kể các dấu hiệu đặc biệt khi bị mã hóa các dấu tiếng Việt thành dấu ? đây là ký hiệu không cho đặt tên của bất kỳ file hay tên sheet nào.

Có lẽ tôi sẽ viết cho bạn với cái tên ngắn hơn thôi!
 
Upvote 0
Bạn xem cách này nha. Dù sao thì cũng chỉ xem có 1 sheet thôi mà. Thay đổi chọn lựa tại D2 sẽ có kết quả mới. Hên xui nha

Lẽ ra làm như bạn quanghai1969 là được rồi nhỉ? Thậm chí chỉ là lọc trong sheet K50 luôn thì đỡ khổ hơn không!
 
Upvote 0
Dạ làm tên ngắn hơn cũng được để em tham khảo là được rồi. cám ơn anh chị đã giúp.
 
Upvote 0
Chào anh chị!

Vấn đề của em là em có 1 file tổng hợp học phí ( ở đây là sheet K50 ), trong file này nhập lung tung không theo thứ tự lớp, giờ em muốn tạo cho mỗi tên lớp là 1 sheet rồi copy tự động qua sheet đó, thông thường em lọc bằng tay rồi copy qua. Vấn đề là mấy chục file lọc copy hoài chống mặt. File đính kèm là em làm thủ công. Anh chị có cách nào làm tự động không giúp em với

Tôi đã giúp tách các lớp, mỗi lớp là 1 sheet nhưng code còn lỗi tôi chưa xử xong đành gửi kết quả tách lớp cho bạn (còn code tôi đã xóa), khi xử lý xong tôi sẽ gửi đầy đủ.

https://www.box.com/s/ilxwnxytszmfyf9gi7i6
 
Upvote 0
Lẽ ra làm như bạn quanghai1969 là được rồi nhỉ? Thậm chí chỉ là lọc trong sheet K50 luôn thì đỡ khổ hơn không!
Nhiều khi cách của mình thấy hợp lý nhưng so với chủ topic lại không thấy hợp lý vì có nhiều lý do ABC. Nhưng thôi cứ giới thiệu cách của mình thường làm để xử lý mấy cái này. Nếu thấy OK thì chủ topic xài, không ok thì coi như vui chơi thôi. Chủ yếu là ôn bài vì code cũng ngắn và cũng không phức tạp. Chiêu AdvancedFilter này tuyệt hay.
 
Upvote 0
Thật sự không hiểu nổi chủ thớt. File của mình như vậy mà chưa vừa ý hay sao? Nếu không xài được cũng nói rằng vì cái gì chứ.

Dạ tối nay em không có máy tính nên chưa coi được anh ơi. Em đang online đỡ bằng điện thoại để theo dõi ạ. Mai em sẽ coi lai
 
Upvote 0
Thật sự không hiểu nổi chủ thớt. File của mình như vậy mà chưa vừa ý hay sao? Nếu không xài được cũng nói rằng vì cái gì chứ.

"Chủ thớt" chắc giờ này "khò khò" còn mình thì viết cho "chủ thớt" đây! Đúng là "làm dâu trăm họ" đành phải chịu thôi hic hic hic

Mình mới ký tàu xong, giờ bắt tay làm tiếp cho "chủ thớt" đây!

Dạ làm tên ngắn hơn cũng được để em tham khảo là được rồi. cám ơn anh chị đã giúp.

Với bài của bạn, tôi đã vận dụng các hàm, phải nói là một trong những hàm "tinh túy" của diễn đàn để áp dụng cho bài này!

Tôi chỉ đưa lên code của thủ tục chạy thôi, còn hàm nằm trong file bạn nhé!

Mã:
Sub LocTenLop()

      On Error Resume Next
      
      With Application
           [COLOR=#008000] 'Tăng tốc:[/COLOR]
            .ScreenUpdating = False
            .EnableEvents = False
            .Calculation = xlCalculationManual
            
            Dim DataArr As Variant, c As Long, r As Long, h As Long
            Dim ClassArr As Variant, Itm As Variant, FilterArr As Variant
            Dim SheetName As String
            r = Sheets("K50").Range("B65536").End(xlUp).Row
           [COLOR=#008000] 'Sắp xếp và lọc duy nhất[/COLOR]
            With Sheets("K50").Range("A3:J" & r)
                  .Sort Sheets("K50").[D3], 1, Sheets("K50").[C3], , 1, , , xlYes
                   DataArr = .Value
                   [COLOR=#008000]'Lọc duy nhất tên lớp:[/COLOR]
                   ClassArr = [COLOR=#ff0000][B]NewUnique2DArray[/B][/COLOR](Sheets("K50").Range("D4:D" & r).Value)
                  .Sort Sheets("K50").[A3], 1, , , , , , xlYes
            End With
            
           [COLOR=#008000] 'Duyệt qua tất cả các tên lớp:[/COLOR]
            For Each Itm In ClassArr
                  [COLOR=#008000]'Loại dấu tiếng Việt để đặt tên sheet:[/COLOR]
                  SheetName = UCase([COLOR=#ff0000][B]FontConverter[/B][/COLOR](Itm, UNI, LoaiDau))
                 [COLOR=#008000] 'Thay thế các cụm tên dài để tên sheet ngắn lại:[/COLOR]
                  SheetName = Replace(SheetName, "BUU CHINH VIEN THONG", "BCVT")
                  SheetName = Replace(SheetName, "GIAO THONG VAN TAI", "GTVT")
                  SheetName = Replace(SheetName, "DAN DUNG", "DD")
                  SheetName = Replace(SheetName, "GIAO THONG", "GT")
                  SheetName = Replace(SheetName, "VAN TAI", "VT")
                  SheetName = Replace(SheetName, "CONG NGHIEP", "CN")
                  SheetName = Replace(SheetName, "QUAN LY", "QL")
                  SheetName = WorksheetFunction.Trim(Replace(SheetName, "XAY DUNG", "XD"))
                  SheetName = Replace(SheetName, " ", "_")
                  [COLOR=#008000]'Nếu sheet đã tồn tại thì chỉ xóa toàn bộ dữ liệu[/COLOR]
                  If [COLOR=#ff0000][B]SheetExist[/B][/COLOR](SheetName) Then
                        Sheets(SheetName).Cells.Clear
                  Else
                  [COLOR=#008000]'Còn không tồn tại thì thêm sheet và đặt tên theo lớp:[/COLOR]
                        Sheets.Add
                        ActiveSheet.Move After:=Sheets(Sheets.Count)
                        ActiveSheet.Name = SheetName
                  End If
                 [COLOR=#008000] 'Lọc dữ liệu từ nguồn sheet K50:[/COLOR]
                  FilterArr = [B][COLOR=#ff0000]Filter2DArray[/COLOR][/B](DataArr, 4, Itm, True)
                  h = UBound(FilterArr)
                  [COLOR=#008000]'Gán dữ liệu đã lọc cho sheet mới, copy định dạng, đánh lại số thứ tự:[/COLOR]
                  With Sheets(SheetName)
                        .Select
                        .Range("A3").Resize(h, 10).Value = FilterArr
                         Sheets("K50").Cells.Copy
                        .Cells.PasteSpecial Paste:=xlPasteFormats
                        .Range("A4") = 1
                        .Range("A4").AutoFill Destination:=Range("A4:A" & h + 2), Type:=xlFillSeries
                        .Range("A1").Select
                  End With
                  
            Next
                  
            Sheets("K50").Select
            [COLOR=#008000]'Trả lại tốc độ bình thường:[/COLOR]
            .Calculation = xlCalculationAutomatic
            .EnableEvents = True
            .ScreenUpdating = True
      End With
End Sub

Các mục tô đỏ là các hàm tự tạo, bạn xem trong file.
 

File đính kèm

Upvote 0
Có một điều tôi vẫn thấy rằng cách của quanghai1969 là hợp lý nhất, tôi làm cho bạn gọi là thể theo yêu cầu thôi, chứ làm kiểu yêu cầu này mà muốn tìm sheet nào thôi chắc là đuối! Mới có 20 lớp thôi chứ cả trăm lớp chắc file cồng kềnh và tìm "đeeeeeeeeeeẽ" luôn!

Nhưng không sao, tôi có cách để cho bạn tìm tên sheet một cách nhanh chóng!

Bạn có thấy dưới cùng bên trái của sheet có các nút mũi tên |< < > >| không? OK, click chuột phải vào đó!

Thế là bây giờ đã có một list để bạn chọn lựa rồi đó (xem hình), nếu vẫn không thấy nữa, hãy bấm vào More Sheets... (khung màu đỏ) để chọn lựa nhé!

Chúc mọi người ngủ ngon, giờ mình đi làm về nhà đây!
 

File đính kèm

  • Picture1.jpg
    Picture1.jpg
    66.1 KB · Đọc: 68
Upvote 0
[thongBao]Chị cho em xin file nhé. Con người ta bí quá cũng thay đổi thôi!"[/thongBao]
Thật sự không hiểu nổi chủ thớt. File của mình như vậy mà chưa vừa ý hay sao? Nếu không xài được cũng nói rằng vì cái gì chứ.

Không fải vậy đâu quanghai1969;469422 à; Bạn trách nhầm rồi!

Câu trả lời đó là hệ quả của loạt quá trình sau:

Mình góp là CSDL cần có mã sinh viên & mã lớp. Hơn nữa mình hứa sẽ giúp tạo ra mã SV (gồm chuỗi có độ dài 5 & mã lớp cũng vậy)
Viết xong vô xem lại topic thì chủ topic nói rằng file của ai khác nhờ giúp nhưng lại khôgn cho chỉnh sửa;
Thấy vậy nên buồn mình bỏ đi & bày tỏ thái độ không gởi file lên nữa.

Chủ topic nói vậy là cần mình gởi file;

Xin báo chủ topic là mình chưa muốn gởi ngay file, trong khi topic chưa xong!

"Chưa thấy quan tài, chưa đổ lệ!"

 
Upvote 0
[thongBao]Chị cho em xin file nhé. Con người ta bí quá cũng thay đổi thôi!"[/thongBao]


Không fải vậy đâu quanghai1969;469422 à; Bạn trách nhầm rồi!

Câu trả lời đó là hệ quả của loạt quá trình sau:

Mình góp là CSDL cần có mã sinh viên & mã lớp. Hơn nữa mình hứa sẽ giúp tạo ra mã SV (gồm chuỗi có độ dài 5 & mã lớp cũng vậy)
Viết xong vô xem lại topic thì chủ topic nói rằng file của ai khác nhờ giúp nhưng lại khôgn cho chỉnh sửa;
Thấy vậy nên buồn mình bỏ đi & bày tỏ thái độ không gởi file lên nữa.

Chủ topic nói vậy là cần mình gởi file;

Xin báo chủ topic là mình chưa muốn gởi ngay file, trong khi topic chưa xong!

"Chưa thấy quan tài, chưa đổ lệ!"


Hỏng hiểu cái câu màu đỏ lắm chị HYen17 ơi? Chắc chị nói topic này sai box hả? Cũng có thể, nhưng liên quan đến Insert Sheet, thì phải liên quan đến hàm kiểm tra sheet tồn tại, vậy thì cũng đâu có sai box nhỉ? Bài trả lời của em sử dụng đến 4 hàm tự tạo đó! Và đương nhiên phải có hàm liên quan đến sheet SheetExist.

Chúc buổi sáng vui vẻ!
 
Upvote 0
Hỏng hiểu cái câu màu đỏ lắm chị HYen17 ơi? Chắc chị nói topic này sai box hả? Cũng có thể, nhưng liên quan
Chúc buổi sáng vui vẻ!
/(hông đâu Nghĩa;
Làm việc với CSDL dù ít dù nhiều nên có thói quen xài mã duy nhất.
Mà ở đây CSDL trên ngàn người mà không lo cái đó thì hậu quả khôn lường về sau.
Biết mà không nói lương tâm thấy sao sao í; Nhưng nói xong mà người tiếp nhận thờ ơ, kể cũng buồn!
 
Upvote 0
Cám ơn anh Hải, anh Nghĩa và Chị Yến. Em thấy vậy là được rồi. Ah cho em hỏi thêm là khi muốn làm 1 file khác ví dụ như tên lớp khác các tên lớp này thì mdlHamTuTao giữ nguyên, chỉ thay đổi chổ màu đỏ thôi phải không ?
Sub LocTenLop()

On Error Resume Next

With Application

.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual

Dim DataArr As Variant, c As Long, r As Long, h As Long
Dim ClassArr As Variant, Itm As Variant, FilterArr As Variant
Dim SheetName As String
r = Sheets("K50").Range("B65536").End(xlUp).Row

With Sheets("K50").Range("A3:J" & r)
.Sort Sheets("K50").[D3], 1, Sheets("K50").[C3], , 1, , , xlYes
DataArr = .Value
ClassArr = NewUnique2DArray(Sheets("K50").Range("D4:D" & r).Value)
.Sort Sheets("K50").[A3], 1, , , , , , xlYes
End With


For Each Itm In ClassArr

SheetName = UCase(FontConverter(Itm, UNI, LoaiDau))
SheetName = Replace(SheetName, "BUU CHINH VIEN THONG", "BCVT")
SheetName = Replace(SheetName, "GIAO THONG VAN TAI", "GTVT")
SheetName = Replace(SheetName, "DAN DUNG", "DD")
SheetName = Replace(SheetName, "GIAO THONG", "GT")
SheetName = Replace(SheetName, "VAN TAI", "VT")
SheetName = Replace(SheetName, "CONG NGHIEP", "CN")
SheetName = Replace(SheetName, "QUAN LY", "QL")
SheetName = WorksheetFunction.Trim(Replace(SheetName, "XAY DUNG", "XD")
)
SheetName = Replace(SheetName, " ", "_")

If SheetExist(SheetName) Then
Sheets(SheetName).Cells.Clear
Else
Sheets.Add
ActiveSheet.Move After:=Sheets(Sheets.Count)
ActiveSheet.Name = SheetName
End If

FilterArr = Filter2DArray(DataArr, 4, Itm, True)
h = UBound(FilterArr)

With Sheets(SheetName)
.Select
.Range("A3").Resize(h, 10).Value = FilterArr
Sheets("K50").Cells.Copy
.Cells.PasteSpecial Paste:=xlPasteFormats
.Range("A4") = 1
.Range("A4").AutoFill Destination:=Range("A4:A" & h + 2), Type:=xlFillSeries
.Range("A1").Select
End With

Next

Sheets("K50").Select

.Calculation = xlCalculationAutomatic
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

Và vấn đề cuối cùng là sheet K50 có dữ liệu tới cột M và muốn copy tới M qua các sheet khác luôn thì sửa chữ J màu xanh thành M phải không anh, chỉ em tạo cái nút bấm luôn hihi }}}}}
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn anh Hải, anh Nghĩa và Chị Yến. Em thấy vậy là được rồi. Ah cho em hỏi thêm là khi muốn làm 1 file khác ví dụ như tên lớp khác các tên lớp này thì mdlHamTuTao giữ nguyên, chỉ thay đổi chổ màu đỏ thôi phải không ?


Và vấn đề cuối cùng là sheet K50 có dữ liệu tới cột M và muốn copy tới M qua các sheet khác luôn thì sửa chữ J màu xanh thành M phải không anh ?

1) Bạn muốn thay đổi tên lớp gì cũng được, không cần thay đổi các dòng màu đỏ, tôi đã ghi chú rất rõ tại topic đó, những dòng bạn tô đỏ chẳng qua là để thay thế và viết tắt các tên lớp dài thoòng của bạn. Nói như Chị HYen17 là hoàn toàn đúng là ít nhất 1 lớp học phải có Mã Số, từ mã số truy xuất rất là nhanh mà đặt tên sheet thì không cần thay thế nữa.

2) Đúng, bạn có bao nhiêu cột thì lấy tên cột cuối gán vào vị trí đó.
 
Upvote 0
Chỉ em tạo cái nút bấm luôn hihi }}}}}

Bạn đang xài Excel 2003 hay 2007?

Nếu 2003 thì click chuột phải tại Menu/Toolbar để có danh sách Tool, chọn vào Forms, sau đó chọn vào nút lệnh Button là đã có nút lệnh, khi bạn vừa vẽ xong nút đó xuống sheet, ngay lập tức nó sẽ có hộp thoại hỏi bạn gán macro nào, bạn chọn một trong những tên macro có sẳn trong đó để gán, sau đó bấm OK là thực hiện được nút lệnh.

Nói chung, với nút lệnh thì bạn chỉ việc vẻ một shape cũng được, sau đó click phải chuột vào nó và chọn Assign Macro và thực hiện như trên.
 
Upvote 0
2) Đúng, bạn có bao nhiêu cột thì lấy tên cột cuối gán vào vị trí đó.

Em đổi lại lại chữ M rồi và thêm dữ liệu cho cột L và M ở sheet K50 nhưng bấm vào nút "LỌC CÁC LỚP" thì bên các sheet được tao ra không có dữ liệu ở cột L, M anh ơi
 
Upvote 0
Em đổi lại lại chữ M rồi và thêm dữ liệu cho cột L và M ở sheet K50 nhưng bấm vào nút "LỌC CÁC LỚP" thì bên các sheet được tao ra không có dữ liệu ở cột L, M anh ơi

À tôi chưa nói với bạn điều này:

Trong thủ tục này:

Mã:
                  With Sheets(SheetName)
                        .Select
                       [COLOR=#ff0000][B] .Range("A3").Resize(h, [/B][/COLOR][COLOR=#0000ff][B]10[/B][/COLOR][COLOR=#ff0000][B]).Value = FilterArr[/B][/COLOR]
                         Sheets("K50").Cells.Copy
                        .Cells.PasteSpecial Paste:=xlPasteFormats
                        .Range("A4") = 1
                        .Range("A4").AutoFill Destination:=Range("A4:A" & h + 2), Type:=xlFillSeries
                        .Range("A1").Select
                  End With

có dòng tô đỏ và số màu xanh, bạn đếm dữ liệu của bạn bao nhiêu cột thì thay vào bấy nhiêu!
 
Upvote 0
Đã được rồi quá tuyệt anh ơi!

Cũng lưu ý với bạn là code sẽ bị lỗi và không lọc sheet có tên lớp chứa một trong các ký tự sau:

[INFO2=Một số quy tắc đặt tên file:] dấu gạch chéo ngược (\)
đánh dấu gạch chéo (/)
dấu 2 chấm (:)
dấu hoa thị (*)
dấu chấm hỏi (?)
dấu ngoặc kép (")
dấu nhỏ hơn (<)
dấu lớn hơn (>)
dọc bar (|)
...[/INFO2]

Nếu có tên thì bạn tìm cách thay thế ngay (tại các dòng mà bạn đã tô đỏ) bằng 1 ký tự khác mà tên sheet cho phép đặt vào nhé!
 
Upvote 0
Nhiều khi cách của mình thấy hợp lý nhưng so với chủ topic lại không thấy hợp lý vì có nhiều lý do ABC. Nhưng thôi cứ giới thiệu cách của mình thường làm để xử lý mấy cái này. Nếu thấy OK thì chủ topic xài, không ok thì coi như vui chơi thôi. Chủ yếu là ôn bài vì code cũng ngắn và cũng không phức tạp. Chiêu AdvancedFilter này tuyệt hay.

Chiêu AdvancedFiter này của Thầy thật lợi hại. Thầy cho em hỏi dòng code sau:
PHP:
.Range(.[A3], .[A65536].End(3)).Resize(, 12).AdvancedFilter 2, [D1:D2], [A3:L3]
Em xem trong file thấy cell D1 thầy đặt giá trị "lớp" tham chiếu từ đâu mà em học mãi vẫn chưa ra? Mong được thầy và các anh chị chỉ bảo thêm.
 
Upvote 0

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

Back
Top Bottom