Nhưng code chưa chuẩn.
Xét 2 trường hợp:
1. Sheet1 vì một lý do nào đấy D10 = rỗng, chưa được nhập giá trị.
Sau khi chạy code thì D5, D6 của sheet2 được gộp với nhau (2 ô số lượng của Cát lợi)
2. Sheet1, D4 = 30.
Sau khi chạy code thì D8, D9 của sheet2 được gộp với nhau (1 ô số lượng của Cát lợi còn ô kia của Đại Việt).
Bạn có thể nói rằng trường hợp 1 không thể sảy ra vì dữ liệu của bạn luôn không có ô trống (rất tự tin). Nhưng bạn không thể nói là trường hợp 2 không thể sảy ra, rằng nếu Cát Lợi bán Nho với số lượng 30 thì Đại Việt không được phép, không có quyền, bán Táo với số lượng 30.
Trường hợp 1 bạn có thể tự tin là không sảy ra. Nhưng tôi thêm 1 trường hợp hoàn toàn có quyền sảy ra.
3. Sheet1, D10 = 1.
Sau khi chạy code thì D5, D6 của sheet2 được gộp với nhau (2 ô số lượng của Cát lợi)
Rõ ràng cột số lượng trong sheet1 không có ô nào được gộp nên nếu có một số ô trong cột số lượng của sheet2 được gộp thì hơi bị kỳ.