viết dạng VBA

Liên hệ QC

Nông tiệp

Thành viên mới
Tham gia
25/2/20
Bài viết
37
Được thích
0
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
 

File đính kèm

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
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.
 
Upvote 0
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.
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.
1583124788291.png
 
Upvote 0
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
Tức là bạn muốn hiển thị kết quả như sheet2
đúng rồ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".
Đầu câu, đầu dòng cần Viết Hoa.
Em viết nhầm có síu thôi mà
Bài đã được tự động gộp:

đúng rồi ạ


Em viết nhầm có síu thôi mà
Aq
Tức là bạn muốn hiển thị kết quả như sheet2
vâng ạ
 
Upvote 0
@Nông tiệp Thử code dưới đây
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
Sửa tiêu đề như nhắc nhở của bài 3 có lẽ hợp lý hơn.
 
Upvote 0
@Nông tiệp Thử code dưới đây
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
Sửa tiêu đề như nhắc nhở của bài 3 có lẽ hợp lý hơn.
Trước tiên là em cảm ơn mọi người đã đọc bài của em.
Và em cảm ơn các bác đã giúp em viết phần code này ạ.. "thank rất rất nhiều ^^!"
 
Upvote 0
Web KT

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

Back
Top Bottom