Nguyenhoangphong0902
Đường trần muôn vạn ngã ba.........
- Tham gia
- 27/7/21
- Bài viết
- 56
- Được thích
- 22
Bạn chạy thử Sub này: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
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
Cách cổ điểnChà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
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