Em chào anh chị trên diễn đàn. em muốn nhờ anh chị giúp đỡ về thao tác Gộp Ô với nhau ạ.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Thúy Sa

Thành viên mới
Tham gia
19/9/20
Bài viết
46
Được thích
7
Em chào anh chị trên diễn đàn,

Em thường gộp bằng thủ công có trên thanh công cụ, nhưng vì có quá nhiều ô phải gộp, anh chị biết cách nào gộp ô nhành hơn chỉ giúp em với ạ.

Ở DÒNG 11, CÁC Ô CHỨA RTO, MTO, 40HC, 40DC, 20DC, Em muốn làm sao gộp ô , như dòng 14, ví dụ: ở ô H11 ="40HC", đến ô N11 ="40HC" --> sẽ ra kết quả gộp ô từ ô H11 Đến M11 , như ô em đã gộp thủ công có màu xanh lục . N11 = "20DC" , U11="40DC " --> thì sẽ gộp từ ô N11 đến ô T11, dữ liệu của ô lớn ( đã gộp) sẽ 20DC

Em cảm ơn.
 

File đính kèm

  • HÌNH GỘP Ô.JPG
    HÌNH GỘP Ô.JPG
    47.4 KB · Đọc: 11
  • GỘP Ô.xlsx
    GỘP Ô.xlsx
    14.6 KB · Đọc: 13
Em chào anh chị trên diễn đàn,

Em thường gộp bằng thủ công có trên thanh công cụ, nhưng vì có quá nhiều ô phải gộp, anh chị biết cách nào gộp ô nhành hơn chỉ giúp em với ạ.

Ở DÒNG 11, CÁC Ô CHỨA RTO, MTO, 40HC, 40DC, 20DC, Em muốn làm sao gộp ô , như dòng 14, ví dụ: ở ô H11 ="40HC", đến ô N11 ="40HC" --> sẽ ra kết quả gộp ô từ ô H11 Đến M11 , như ô em đã gộp thủ công có màu xanh lục . N11 = "20DC" , U11="40DC " --> thì sẽ gộp từ ô N11 đến ô T11, dữ liệu của ô lớn ( đã gộp) sẽ 20DC

Em cảm ơn.
Cái này nếu dùng VBA thì sẽ nhanh thôi.
 
Em chào anh chị trên diễn đàn,
Em thường gộp bằng thủ công có trên thanh công cụ, nhưng vì có quá nhiều ô phải gộp, anh chị biết cách nào gộp ô nhành hơn chỉ giúp em với ạ.
Ở DÒNG 11, CÁC Ô CHỨA RTO, MTO, 40HC, 40DC, 20DC, Em muốn làm sao gộp ô , như dòng 14, ví dụ: ở ô H11 ="40HC", đến ô N11 ="40HC" --> sẽ ra kết quả gộp ô từ ô H11 Đến M11 , như ô em đã gộp thủ công có màu xanh lục . N11 = "20DC" , U11="40DC " --> thì sẽ gộp từ ô N11 đến ô T11, dữ liệu của ô lớn ( đã gộp) sẽ 20DC
Em cảm ơn.
Chạy thử file này xem sao.
 

File đính kèm

Bạn phải Unblock trước đã. Như vậy chưa phải là Unblock đâu.
Tìm hiểu từ khóa "Unblock file".
Dạ chưa được anh ạ.
em có chạy. nhưng code này chỉ gộp các ô giống nhau ( cùng 1 dòng ) anh
anh có thể chỉnh sửa code giúp em với ạ.

em cảm ơn.
 
Lần chỉnh sửa cuối:
Unblock này chỉ xảy ra khi mở trên office bảo mật cao như 365 thôi anh, không phải office nào cũng cần thực hiện bước này
Mà ý của chủ thớt là merge trực tiếp vào cái dòng 11 kia ấy, sao anh lại làm qua dòng 14 :D
Mình làm ví dụ để chủ bài muốn chuyển vào đâu thì tùy ý mà.
Unblock này chỉ xảy ra khi mở trên office bảo mật cao như 365 thôi anh, không phải office nào cũng cần thực hiện bước này
Của mình office 2010 nó cũng bắt Unblock bạn ạ.
 
Dạ chưa được anh ạ.
em có chạy. nhưng code này chỉ gộp các ô giống nhau ( cùng 1 dòng ) anh
anh có thể chỉnh sửa code giúp em với ạ.
em cảm ơn.
Bạn vào trong cửa sổ code, chỗ nào số 14 thì sửa thành 11 là được.
Dạ thục hiện tại địa chỉ: dòng 11/ sheet 1/ của file anh gửi là đúng ạ. Nhưng khi em tạo dòng khác/ hoặc sheet khác/ file khác là không được ạ.
Bạn ví dụ chỗ nào thì các thành viên giúp chỗ ấy chứ làm sao biết được bạn sẽ dùng cho bao nhiêu dòng, bao nhiêu sheets, bao nhiêu files...
 
Bạn vào trong cửa sổ code, chỗ nào số 14 thì sửa thành 11 là được.

Bạn ví dụ chỗ nào thì các thành viên giúp chỗ ấy chứ làm sao biết được bạn sẽ dùng cho bao nhiêu dòng, bao nhiêu sheets, bao nhiêu files...
Dạ code anh Hải gửi không có số 14 ạ:

Option Explicit
Sub Tron_Cell()
Dim sArr(), j As Long, jj As Long, FirstCol As Long, LastCol As Long
Application.DisplayAlerts = False
With Sheet1
sArr = .Range("H11", .Cells(11, Columns.Count).End(1).Address).Value
End With
For j = 1 To UBound(sArr, 2)
If IsNumeric(Left(sArr(1, j), 1)) Then
FirstCol = j + 7
For jj = j + 1 To UBound(sArr, 2)
If IsNumeric(Left(sArr(1, jj), 1)) Then
Exit For
End If
Next
LastCol = jj + 6
With Sheet1
With .Range(.Cells(11, FirstCol), .Cells(11, LastCol))
.MergeCells = True
.HorizontalAlignment = xlCenter
End With
End With
End If
Next
Application.DisplayAlerts = True
End Sub
 
Dạ code anh Tuấn gửi không có số 14 ạ:

Option Explicit
Sub Tron_Cell()
Dim sArr(), j As Long, jj As Long, FirstCol As Long, LastCol As Long
Application.DisplayAlerts = False
With Sheet1
sArr = .Range("H11", .Cells(11, Columns.Count).End(1).Address).Value
End With
For j = 1 To UBound(sArr, 2)
If IsNumeric(Left(sArr(1, j), 1)) Then
FirstCol = j + 7
For jj = j + 1 To UBound(sArr, 2)
If IsNumeric(Left(sArr(1, jj), 1)) Then
Exit For
End If
Next
LastCol = jj + 6
With Sheet1
With .Range(.Cells(11, FirstCol), .Cells(11, LastCol))
.MergeCells = True
.HorizontalAlignment = xlCenter
End With
End With
End If
Next
Application.DisplayAlerts = True
End Sub
Code của mình đây mà bạn.
Mã:
Sub Gop_o()
Dim i As Long, j As Long
Application.ScreenUpdating = False
With Sheet1
    For i = 148 To 8 Step -1
        j = j + 1
        If Right(.Cells(11, i), 1) = "C" Then
            .Range(.Cells(14, i), .Cells(14, i + j - 1)).Merge
            j = 0
        End If
    Next i
End With
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Bạn vào trong cửa sổ code, chỗ nào số 14 thì sửa thành 11 là được.

Bạn ví dụ chỗ nào thì các thành viên giúp chỗ ấy chứ làm sao biết được bạn sẽ dùng cho bao nhiêu dòng, bao nhiêu sheets, bao nhiêu files...

Code của mình đây mà bạn.
Mã:
Sub Gop_o()
Dim i As Long, j As Long
Application.ScreenUpdating = False
With Sheet1
    For i = 148 To 8 Step -1
        j = j + 1
        If Right(.Cells(11, i), 1) = "C" Then
            .Range(.Cells(14, i), .Cells(14, i + j - 1)).Merge
            j = 0
        End If
    Next i
End With
Application.ScreenUpdating = True
End Sub
dạ khi nãy em có chạy code của anh rồi, nhưng không được ạ.
anh Hải có gửi file excel lên diễn đàng , nhưng chỉ thực hiện đúng địa chỉ trong file chứ không thực hiện được trong các sheet khác / các file/ các dòng khác ạ.
anh có thể xem và sửa lại code để có thể sử dụng được cho toàn bộ workbook không ạ.
 
dạ khi nãy em có chạy code của anh rồi, nhưng không được ạ.
anh Hải có gửi file excel lên diễn đàng , nhưng chỉ thực hiện đúng địa chỉ trong file chứ không thực hiện được trong các sheet khác / các file/ các dòng khác ạ.
anh có thể xem và sửa lại code để có thể sử dụng được cho toàn bộ workbook không ạ.
Bạn có UltraViewer không để mình xem cụ thể cho, mình chỉ xem phần code của mình vì sao không chạy trên máy tính của bạn chứ không can thiệp code của người khác nhé.
 
Web KT

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

Back
Top Bottom