pham ha 94
Thành viên chính thức


- Tham gia
- 13/12/22
- Bài viết
- 86
- Được thích
- 6
E2=IFERROR(IF(A2<>"";TEXTJOIN(CHAR(10);;PROPER(OFFSET(A2;0;1;MATCH(1;--(A3:A13<>"");0);1)));"");PROPER(TEXTJOIN(CHAR(10);;B2:B13)))
Nhờ các bác hỗ trợ. Mong muốn được gom gộp các ô theo hàng ở cột B thành 1 ô duy nhất ở cột A
Số lượng ô ở cột B là ngẫu nhiên theo khoảng cách của cột A và cột A có thể dài hơn 3 dòng dữ liệu
Em cảm ơn
Bạn tham khảo:Nhờ các bác hỗ trợ. Mong muốn được gom gộp các ô theo hàng ở cột B thành 1 ô duy nhất ở cột A
Số lượng ô ở cột B là ngẫu nhiên theo khoảng cách của cột A và cột A có thể dài hơn 3 dòng dữ liệu
Em cảm ơn
Option Explicit
Sub gom()
Dim sheet As Worksheet
Dim Data As Variant
Dim Str1 As String, Str2 As String
Dim r As Long, i As Long
Set sheet = ThisWorkbook.ActiveSheet
r = sheet.Cells(sheet.Rows.Count, "B").End(xlUp).Row
Data = sheet.Range("A2:B" & r).Value
For i = LBound(Data, 1) To UBound(Data, 1)
Str1 = Data(i, 1): Str2 = Data(i, 2)
If Len(Str1) > 0 Then
r = i
Data(r, 1) = Str1
Data(r, 2) = Str2
Else
Data(i, 2) = Empty
Data(r, 2) = Data(r, 2) & vbNewLine & Str2
End If
Next i
sheet.Range("G2").Resize(UBound(Data, 1), 2).Value = Data
End Sub
Cam on bac rat nhieuBạn tham khảo:
Mã:Option Explicit Sub gom() Dim sheet As Worksheet Dim Data As Variant Dim Str1 As String, Str2 As String Dim r As Long, i As Long Set sheet = ThisWorkbook.ActiveSheet r = sheet.Cells(sheet.Rows.Count, "B").End(xlUp).Row Data = sheet.Range("A2:B" & r).Value For i = LBound(Data, 1) To UBound(Data, 1) Str1 = Data(i, 1): Str2 = Data(i, 2) If Len(Str1) > 0 Then r = i Data(r, 1) = Str1 Data(r, 2) = Str2 Else Data(i, 2) = Empty Data(r, 2) = Data(r, 2) & vbNewLine & Str2 End If Next i sheet.Range("G2").Resize(UBound(Data, 1), 2).Value = Data End Sub