Tức là bạn muốn hiển thị kết quả như sheet2chào anh chị
em có 1 file ở sheet 1 mà em muốn tạo ra file ở sheet 2
mà cần viết theo dạng VBA nhung không biết làm. có bác nào biết chỉ em mới
Tiêu đề bài viết không rõ ràng, nên sửa thành "Tách dữ liệu bằng VBA".chào anh chị
em có 1 file ở sheet 1 mà em muốn tạo ra file ở sheet 2
mà cần viết theo dạng VBA nhung không biết làm. có bác nào biết chỉ em mới
Tức là bạn muốn hiển thị kết quả như sheet2
Bạn ấy cần một cây viết có hình dạng VBA. Tức là phần đầu gãy xuống (chữ V), phần gữa có hai cái lỗ để xỏ ngón tay (chữ B), và phần cuối gập lên (chữ A)
Cây viết này khó kiếm à nha.
View attachment 232733
đúng rồi ạTức là bạn muốn hiển thị kết quả như sheet2
Em viết nhầm có síu thôi màTiêu đề bài viết không rõ ràng, nên sửa thành "Tách dữ liệu bằng VBA".
Đầu câu, đầu dòng cần Viết Hoa.
Aqđúng rồi ạ
Em viết nhầm có síu thôi mà
vâng ạTức là bạn muốn hiển thị kết quả như sheet2
Sub abc()
Dim Nguon
Dim Kq
Dim i, j, k
Nguon = Sheet1.Range("A1", Sheet1.Range("A1000000").End(xlUp))
ReDim Kq(1 To UBound(Nguon), 1 To 11)
For i = 1 To UBound(Nguon)
Nguon(i, 1) = Replace(Nguon(i, 1), """", "")
If InStr(Nguon(i, 1), ",") Then
k = 0
For Each j In Split(Nguon(i, 1), ",")
k = k + 1
If k = 7 Then
Kq(i, k) = Kq(i, 1) & "_" & Kq(i, 3)
k = 8
End If
Kq(i, k) = j
Next j
Else
Kq(i, 1) = Nguon(i, 1)
End If
Next i
With Sheet2
.UsedRange.Clear
.Range("A1").Resize(UBound(Kq), 11) = Kq
.Range("A3").CurrentRegion.Columns.AutoFit
End With
End Sub
Trước tiên là em cảm ơn mọi người đã đọc bài của em.@Nông tiệp Thử code dưới đây
Sửa tiêu đề như nhắc nhở của bài 3 có lẽ hợp lý hơn.Mã:Sub abc() Dim Nguon Dim Kq Dim i, j, k Nguon = Sheet1.Range("A1", Sheet1.Range("A1000000").End(xlUp)) ReDim Kq(1 To UBound(Nguon), 1 To 11) For i = 1 To UBound(Nguon) Nguon(i, 1) = Replace(Nguon(i, 1), """", "") If InStr(Nguon(i, 1), ",") Then k = 0 For Each j In Split(Nguon(i, 1), ",") k = k + 1 If k = 7 Then Kq(i, k) = Kq(i, 1) & "_" & Kq(i, 3) k = 8 End If Kq(i, k) = j Next j Else Kq(i, 1) = Nguon(i, 1) End If Next i With Sheet2 .UsedRange.Clear .Range("A1").Resize(UBound(Kq), 11) = Kq .Range("A3").CurrentRegion.Columns.AutoFit End With End Sub