Xin giúp code trộn tự động các ô có ngày giống nhau sau khi đã lọc dư liệu (2 người xem)

Liên hệ QC

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

nhoc_khun

Thành viên mới
Tham gia
16/12/09
Bài viết
49
Được thích
7
Chào mọi người,
Tôi có file dùng để lọc dữ liệu (Từ sheet “Dulieu” sang sheet “Locdl” thông qua Userform1).
Tôi muốn sau khi lọc xong thì những ô trong cột A (của sheet “Locdl”) nếu có ngày giống nhau sẽ tự động trộn lại làm một ô.
Chân thành cảm ơn mọi người.
(A, file gốc của ví dụ này là của một thành viên trên diễn đàn GPE, vì tải về máy lâu rồi nên tôi không nhớ rõ là ai. Mong bác nào đó thông cảm!)
 

File đính kèm

Ô, chưa có bác nào giúp mình cả

Thứ nhất, bạn cần trộn lại để làm gì vậy?

Nếu chỉ để cho đẹp thì khuyên bạn nên bỏ ngay í định đó đi!

Nhất là bạn nghiên về việc xài VBA cho CSDL (cơ sở dữ liệu)!

Bạn nên nghiên cứu kỹ hơn về cấu trúc 1 CSDL

Vậy đấy & với mình không khi nào viết cho bạn macro trộn các ô!

Bye!
 
Ô, chưa có bác nào giúp mình cả
Như Bác HYen noi bạn không nên Merge lại các ô khi đó rất khó xử lý dữ liệu nếu muốn làm gì đó cho đẹp thì bạn có thể sử dụng code này

[GPECODE=vb]
Sub GPEMerge()
Dim FirstAdd As String
Dim Rng As Range
Application.DisplayAlerts = False
FirstAdd = Range("A2").Address
For Each Rng In Range("A2:A50")
If Rng.Value <> Rng.Offset(1) Then
With Range(FirstAdd, Rng)
.Merge
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
FirstAdd = Rng.Offset(1).Address
End If
Next Rng
Application.DisplayAlerts = True
End Sub


[/GPECODE]

Có thể tham khảo file
 

File đính kèm

Thứ nhất, bạn cần trộn lại để làm gì vậy?

Nếu chỉ để cho đẹp thì khuyên bạn nên bỏ ngay í định đó đi!

Nhất là bạn nghiên về việc xài VBA cho CSDL (cơ sở dữ liệu)!

Bạn nên nghiên cứu kỹ hơn về cấu trúc 1 CSDL

Vậy đấy & với mình không khi nào viết cho bạn macro trộn các ô!

Bye!
Tôi rất quý những lời góp ý chân thành, thẳng thắng của bác HYen17. Tôi cũng đang cố gắng học hỏi từ mọi người để hy vọng mình biết được tí xíu về VBA.
 
Như Bác HYen noi bạn không nên Merge lại các ô khi đó rất khó xử lý dữ liệu nếu muốn làm gì đó cho đẹp thì bạn có thể sử dụng code này

[GPECODE=vb]
Sub GPEMerge()
Dim FirstAdd As String
Dim Rng As Range
Application.DisplayAlerts = False
FirstAdd = Range("A2").Address
For Each Rng In Range("A2:A50")
If Rng.Value <> Rng.Offset(1) Then
With Range(FirstAdd, Rng)
.Merge
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
FirstAdd = Rng.Offset(1).Address
End If
Next Rng
Application.DisplayAlerts = True
End Sub


[/GPECODE]

Có thể tham khảo file
Cảm ơn bác nmhung49 đã giúp viết code. Rất đúng ý của tôi rồi.
 
Web KT

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

Back
Top Bottom