Cách merge and Center danh sách

Liên hệ QC

thuyyeu99

Trùm Nhiều Chuyện
Tham gia
6/6/08
Bài viết
1,729
Được thích
875
Em có 1 danh sách Stt - Họ và Tên - Số Mua.
Ông nguyễn văn A mua 10 số (nhập 10 dòng mỗi dòng 1 số)
Ông nguyễn văn B mua 3 số (nhập 3 dòng mỗi dòng 1 số)
Ông nguyễn văn C mua 5 số (nhập 5 dòng mỗi dòng 1 số)

vậy mình có cách nào merge and Center ở cột Stt - Họ và Tên tương ứng với số ô bên cột số mua không ạh

Cám ơn các anh chị quan tâm
 

File đính kèm

Lần chỉnh sửa cuối:
Em có 1 danh sách Stt - Họ và Tên - Số Mua.
Ông nguyễn văn A mua 10 số (nhập 10 dòng mỗi dòng 1 số)
Ông nguyễn văn B mua 3 số (nhập 3 dòng mỗi dòng 1 số)
Ông nguyễn văn C mua 5 số (nhập 5 dòng mỗi dòng 1 số)

vậy mình có cách nào merge and Center ở cột Stt - Họ và Tên tương ứng với số ô bên cột số mua không ạh

Cám ơn các anh chị quan tâm

Bạn dùng thử code này:

Mã:
Sub Merge()
On Error Resume Next
Dim c, M As Range
For Each c In Range("a15:b50")
If c.Value = "" Then
Set M = Range(c, c.Offset(-1, 0))
With M.Cells
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
.MergeCells = True
End With
End If
Next c
End Sub
 
Upvote 0
Bạn dùng thử code này:

Mã:
Sub Merge()
On Error Resume Next
Dim c, M As Range
For Each c In Range("a15:b50")
If c.Value = "" Then
Set M = Range(c, c.Offset(-1, 0))
With M.Cells
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
.MergeCells = True
End With
End If
Next c
End Sub
Cám ơn anh Code của anh giúp em giải quyết được vấn đề rồi ạh. Nhưng còn cách nào nhanh hơn mình duyệt qua từng Cells không ạh
 
Upvote 0
Mình dự đoán Code này nhanh hơn 1 chút

Mã:
Sub Noi()
Dim Rng As Range, Cls1 As Range, Cls As Range
Set Rng = Application.InputBox("Chon vung can Merge", , , , , , , 8)
Application.DisplayAlerts = False
On Error GoTo thoat
Set Cls = Rng.Cells(Rng.Cells.Count)
Do
Set Cls1 = Cls.Offset(-1)
Range(Cls, Cls.End(xlUp)).Merge
Set Cls = Cls1.End(xlUp).Offset(-1)
Loop
thoat:
Set Rng=Nothing: Set Cls=Nothing: Set Cls1=Nothing
End Sub
 
Upvote 0
Mình dự đoán Code này nhanh hơn 1 chút

Mã:
Sub Noi()
Dim Rng As Range, Cls1 As Range, Cls As Range
Set Rng = Application.InputBox("Chon vung can Merge", , , , , , , 8)
Application.DisplayAlerts = False
On Error GoTo thoat
Set Cls = Rng.Cells(Rng.Cells.Count)
Do
Set Cls1 = Cls.Offset(-1)
Range(Cls, Cls.End(xlUp)).Merge
Set Cls = Cls1.End(xlUp).Offset(-1)
Loop
thoat:
Set Rng=Nothing: Set Cls=Nothing: Set Cls1=Nothing
End Sub

Dạ cái này mình chọn Merge 1 vùng A15:D40 được không Ạh
 
Upvote 0
Vùng Merge sao lại thay đổi thành nhiều cột nhu vậy. Muốn vậy ta phải điều chỉnh Code thôi.
 
Upvote 0
Dạ cái này mình chọn Merge 1 vùng A15:D40 được không Ạh
Như vậy phải duyệt qua từng cell thôi.

Mã:
Sub Merge()
On Error Resume Next
Dim c, M, rng As Range
Set rng = Application.InputBox("Chon vung can Merge", , , , , , , 8)
Application.ScreenUpdating = False
For Each c In rng
If c.Value = "" Then
Set M = Range(c, c.Offset(-1, 0))
With M.Cells
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
.MergeCells = True
End With
End If
Next c
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Em có 1 danh sách Stt - Họ và Tên - Số Mua.
Ông nguyễn văn A mua 10 số (nhập 10 dòng mỗi dòng 1 số)
Ông nguyễn văn B mua 3 số (nhập 3 dòng mỗi dòng 1 số)
Ông nguyễn văn C mua 5 số (nhập 5 dòng mỗi dòng 1 số)

vậy mình có cách nào merge and Center ở cột Stt - Họ và Tên tương ứng với số ô bên cột số mua không ạh

Cám ơn các anh chị quan tâm

Theo tôi, không nên trộn ô như vậy mà các tên người mua cứ phải nhắc lại.
việc trộn ô chỉ có tính trang trí. Làm ít thì làm bằng tay. Nhiều thì người ta lo việc quản lý bộ dữ liệu đó, không trộn ô làm ảnh hưởng đến các thao tác khác như Sort, Pivot
 
Upvote 0
Theo tôi, không nên trộn ô như vậy mà các tên người mua cứ phải nhắc lại.
việc trộn ô chỉ có tính trang trí. Làm ít thì làm bằng tay. Nhiều thì người ta lo việc quản lý bộ dữ liệu đó, không trộn ô làm ảnh hưởng đến các thao tác khác như Sort, Pivot

Dạ cám ơn anh đã góp ý. Nhưng cái em làm là để xuất ra trang in mụch đích cũng để trang trí cho đẹp thôi ạh, chứ dữ liệu của em là file khác
 
Upvote 0
Dạ cám ơn anh đã góp ý. Nhưng cái em làm là để xuất ra trang in mụch đích cũng để trang trí cho đẹp thôi ạh, chứ dữ liệu của em là file khác
Nếu là vấn đề xuất ra trang in sao bạn không dùng PivotTable nhỉ? (điều kiện là dữ liệu gốc của bạn phải chuẩn)
 
Upvote 0

File đính kèm

Upvote 0
Thì cứ dùng PivotTable bình thường thôi mà bạn
Xem file ví dụ (lưu ý rằng dữ liệu nhập phải chuẩn)

Hành trình thỉnh kinh của Ndu mới qua 80 kiếp nạn, trải nốt 1 nạn nữa mới thành chính quả:
Trên thanh công cụ PivotTable--->Table Option--->Chọn Merge Labels
 
Upvote 0
Web KT

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

Back
Top Bottom