27/7/21

Đánh số thứ tự cho các dòng bị trộn trong Excel

Bài viết này hướng dẫn các bạn cách để đánh số thứ tự các dòng bị trộn, không đồng đều nhau Lưu ý: Để làm được theo bài viết này, bạn cần ... thumbnail 1 summary
Bài viết này hướng dẫn các bạn cách để đánh số thứ tự các dòng bị trộn, không đồng đều nhau




Lưu ý: Để làm được theo bài viết này, bạn cần tham khảo bài viết trước đó.
Bài viết cần xem trước khi xem bài này: Trộn các ô có giá trị giống nhau trong excel bằng VBA https://excel.thuthuataccess.com/2021/07/gop-cac-o-giong-nhau-lai-bang-vba.html
1. Dùng Hàm CoutA(Ô bắt đầu cố định: O Bắt đầu di động)
Ví dụ: CountA($C$4:C4)
2. Kéo công thức xuống đến dòng cuối cùng
3. Dùng thủ thuật trộn các ô có giá trị giống nhau để trộn các ô trùng số lại (Xem bài: Trộn các ô có giá trị giống nhau trong excel bằng VBA)
Kết thúc
Chúc các bạn thành công



===================================================
Để trao đổi và hỏi đáp thêm về chủ đề này, vui lòng truy cập vào diễn đàn các bạn nhé
https://thuthuataccess.com/forum/forum-21.html

22/7/21

Gộp các ô giống nhau lại bằng VBA

Trước khi trộn => Sau khi trộn Đương nhiên các bạn có thể trộn các ô giống nhau bằng công cụ Merge Nhưng nếu dữ liệu đủ lớn, làm thủ cô... thumbnail 1 summary
Trước khi trộn
=>
Sau khi trộn



Đương nhiên các bạn có thể trộn các ô giống nhau bằng công cụ Merge

Nhưng nếu dữ liệu đủ lớn, làm thủ công như vậy rất mất thời gian thì ta làm như sau:

1.       Lên  copy đoạn code của tôi bên dưới về. 

2.       Nhấn Alt+F11, tạo 1 module mới, dán vào. 

3.       Chọn hết đoạn code, nhấn F5, sau đó qua trang excel chọn các ô muốn tìm trộn

4.       Ok và quay lại hưởng thành quả.

5.       Chú ý khi lưu nó hỏi gì thì kệ nó

Sub MergeSameCell()


Dim Rng As Range, xCell As Range
Dim xRows As Integer
xTitleId = "HocExcel.Online"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
For i = 1 To xRows - 1
For j = i + 1 To xRows
If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
Exit For
End If
Next
WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge
i = j - 1
Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


===================================================
Để trao đổi và hỏi đáp thêm về chủ đề này, vui lòng truy cập vào diễn đàn các bạn nhé https://thuthuataccess.com/forum/forum-21.html