Private Sub butOk_Click()
Dim sArr(), Res(), S, tmp As String
Dim i As Long, n As Long, k As Long, sRow As Long
Dim sR As Long, sC As Long, j As Long
tmp = So_Nhom.Text
If Len(tmp) = 0 Then MsgBox ("Phai nhap so thu tu nhom"): Exit Sub
With Sheets("Sheet2")
i = .Range("B" & Rows.Count).End(xlUp).Row
If i < 2 Then MsgBox ("Sheet2 Khong co du lieu"): Exit Sub
sArr = .Range("A2:C" & i).Value
End With
sRow = UBound(sArr)
sC = 2
ReDim Res(1 To Len(tmp) - Len(Replace(tmp, ",", "")) + 1, 1 To sC)
sR = UBound(Res)
tmp = "," & tmp & ","
For i = 1 To sRow
If Len(sArr(i, 1)) > 0 Then
If InStr(1, tmp, "," & sArr(i, 1) & ",") Then
k = k + 1
Res(k, 1) = sArr(i, 1)
Res(k, 2) = sArr(i, 2) & " " & sArr(i, 3)
j = 2
For n = i + 1 To sRow
If Len(sArr(n, 1)) > 0 Then Exit For
If Len(sArr(n, 2)) > 0 Then
j = j + 1
If j > sC Then sC = j: ReDim Preserve Res(1 To sR, 1 To sC)
Res(k, j) = sArr(n, 2) & " " & sArr(n, 3)
End If
Next n
End If
End If
Next i
Range("A2").CurrentRegion.Offset(1).ClearContents
Range("A2").Resize(k, sC) = Res
End Sub