Hỗ trợ tách 1 ô thành nhiều dòng

Liên hệ QC

Nguyenhoangphong0902

Đường trần muôn vạn ngã ba.........
Tham gia
27/7/21
Bài viết
56
Được thích
22
Chào mọi người, em có bài tập này nhờ mọi người giải giúp. Cột kết quả 1 là tất cả giá trị từ cột biến thành dòng. Cột kết quả 2, là cột giá trị trừ đi phần tử kết quả 1 cho đến hết. Nhờ mọi người giải giúp em bài này, cám ơn mọi người
1632712935597.png
Bài đã được tự động gộp:

EM GỬI THÊM FILE ĐÍNH KÈM
 

File đính kèm

  • 1 Ô THÀNH NHIỀU DÒNG.xlsb
    7.9 KB · Đọc: 15
Chào mọi người, em có bài tập này nhờ mọi người giải giúp. Cột kết quả 1 là tất cả giá trị từ cột biến thành dòng. Cột kết quả 2, là cột giá trị trừ đi phần tử kết quả 1 cho đến hết. Nhờ mọi người giải giúp em bài này, cám ơn mọi người
View attachment 266757
Bài đã được tự động gộp:

EM GỬI THÊM FILE ĐÍNH KÈM
Bạn chạy thử Sub này:
PHP:
Public Sub GPE()
Dim dArr(1 To 10000, 1 To 2), Tmp, Rng As Range, Cll As Range
Dim I As Long, J As Long, K As Long, L As Long
    Set Rng = Range("A2", Range("A10000").End(xlUp))
For Each Cll In Rng
    Tmp = Split(Cll.Value, ",")
    L = UBound(Tmp)
    For I = 0 To L
        K = K + 1
        dArr(K, 1) = Tmp(I)
        If I < L Then
            For J = I + 1 To L
                dArr(K, 2) = dArr(K, 2) & "," & Tmp(J)
            Next J
            dArr(K, 2) = Mid(dArr(K, 2), 2)
        End If
    Next I
Next Cll
    Range("F2").Resize(K, 2) = dArr
End Sub
 
Upvote 0
Chào mọi người, em có bài tập này nhờ mọi người giải giúp. Cột kết quả 1 là tất cả giá trị từ cột biến thành dòng. Cột kết quả 2, là cột giá trị trừ đi phần tử kết quả 1 cho đến hết. Nhờ mọi người giải giúp em bài này, cám ơn mọi người
View attachment 266757
Bài đã được tự động gộp:

EM GỬI THÊM FILE ĐÍNH KÈM
Cách cổ điển
Mã:
Sub ABC()
  Dim sArr(), Res(1 To 10000, 1 To 2), i&, j&, k&
  sArr = Range("A2", Range("A1000000").End(xlUp)).Value
  For i = 1 To UBound(sArr)
ConTiep:
    k = k + 1
    j = InStr(sArr(i, 1), ",")
    If j > 0 Then
      Res(k, 1) = Mid(sArr(i, 1), 1, j - 1)
      Res(k, 2) = Mid(sArr(i, 1), j + 1)
      sArr(i, 1) = Res(k, 2)
      GoTo ConTiep
    End If
    Res(k, 1) = sArr(i, 1)
  Next i
  Range("D2").Resize(k, 2) = Res
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom