Các pro giúp mình tạo một đoạn macro thực hiện trộn các ô theo điều kiện cho trước (xem file sẽ rõ hơn). Mình làm tay thì được nhưng khi danh sách dài và nhiều thì làm hơi lâu và bất tiện quá. Mong các pro giúp mình ha.
Sub MergeCell()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
On Error Resume Next
With Range("a4:a" & [b65000].End(3).Row).SpecialCells(4)
For i = 1 To .Areas.Count
For j = 1 To 2
.Areas(i)(0, j).Resize(.Areas(i).Rows.Count + 1).Merge
Next
Next
End With
End Sub
Bạn thử file này xem.
Mã:Sub MergeCell() Application.DisplayAlerts = False Application.ScreenUpdating = False On Error Resume Next With Range("a4:a" & [b65000].End(3).Row).SpecialCells(4) For i = 1 To .Areas.Count For j = 1 To 2 .Areas(i)(0, j).Resize(.Areas(i).Rows.Count + 1).Merge Next Next End With End Sub
Cósao e áp dụng cho các danh sách khác thì lại không được vậy?? Có cách nào áp dụng cho bất cứ danh sách nào mà nội dung thì cũng chỉ Merge 2 cột "STT" và "ho va ten KH" ??
Sub MergeCell()
Dim I, J, Vung
Application.DisplayAlerts = False
On Error Resume Next
Set Vung = Application.InputBox("Chon Cot TEN", "Chon vung muon tron", , , , , , 8)
With Vung.Offset(, -1).Resize(, 2).SpecialCells(4)
For I = 1 To .Areas.Count
For J = 1 To 2
With .Areas(I)(0, J).Resize(.Areas(I).Rows.Count + 1)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
Next
Next
End With
End Sub
Híc... Bạn đọc không hiểu sao biết là hay ? đọc xong bài của bạn tôi chẳng biết là nên vui hay nên buồn nữa đây !Thầy giải thích code giúp em với được không. Code thầy viết hay quá, mà em đọc không luận ra nổi. Cảm ơn thầy.
Không chạy được là vì trong cột A ở sheet1 những cell thấy nó rỗng nhưng thật ra nó .......hổng có rỗng, còn nó là gì thì mình hông biết.Cảm ơn mọi người nha, mọi người xem giúp e file này với, e chạy hoài mà không được, nhân tiện nhờ mọi người giải thích hộ e nội dung 2 code này luôn nha, e mới làm quen với VBA nên còn "mù" lắm.
Cảm ơn nhiều ha, để em làm thửKhông chạy được là vì trong cột A ở sheet1 những cell thấy nó rỗng nhưng thật ra nó .......hổng có rỗng, còn nó là gì thì mình hông biết.
Vì code của bạn TrungChinhs viết dựa theo các cell trống làm chuẩn nên mình phải "thịt" hết những cái gì ở trong các cell đó thì code mới chịu chạy. Bạn xem ở sheet2, mình copy sang dữ liệu của bạn sang rồi chạy code
Dữ liệu gốc vẫn ở sheet1
Muốn thử, bạn copy dữ liệu sheet1 sang một sheet mới, đứng ở sheet đó bấm Ctrl + q ( code này sẽ làm cho những cell thấy rỗng thành....rỗng thật) rồi chạy code trong bài sẽ có kết quả Ok
Thân
Không chạy được là vì trong cột A ở sheet1 những cell thấy nó rỗng nhưng thật ra nó .......hổng có rỗng, còn nó là gì thì mình hông biết.
Vì code của bạn TrungChinhs viết dựa theo các cell trống làm chuẩn nên mình phải "thịt" hết những cái gì ở trong các cell đó thì code mới chịu chạy. Bạn xem ở sheet2, mình copy sang dữ liệu của bạn sang rồi chạy code
Dữ liệu gốc vẫn ở sheet1
Muốn thử, bạn copy dữ liệu sheet1 sang một sheet mới, đứng ở sheet đó bấm Ctrl + q ( code này sẽ làm cho những cell thấy rỗng thành....rỗng thật) rồi chạy code trong bài sẽ có kết quả Ok
Thân
Không chạy được là vì trong cột A ở sheet1 những cell thấy nó rỗng nhưng thật ra nó .......hổng có rỗng, còn nó là gì thì mình hông biết.Vì code của bạn TrungChinhs viết dựa theo các cell trống làm chuẩn nên mình phải "thịt" hết những cái gì ở trong các cell đó thì code mới chịu chạy. Bạn xem ở sheet2, mình copy sang dữ liệu của bạn sang rồi chạy codeDữ liệu gốc vẫn ở sheet1Muốn thử, bạn copy dữ liệu sheet1 sang một sheet mới, đứng ở sheet đó bấm Ctrl + q ( code này sẽ làm cho những cell thấy rỗng thành....rỗng thật) rồi chạy code trong bài sẽ có kết quả OkThân
Sub XoaRacTrang()
On Error Resume Next
With Range("a3:a" & [b65000].End(3).Row)
.AutoFilter 1, "="
.ClearContents
.AutoFilter
End With
End Sub
Call XoaRacTrang
With Vung.Offset(, -1).Resize(, 2).SpecialCells(4)
...
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2