Copy dữ liệu ở sheet khác và thêm dòng theo điều kiện (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

iamhatinh

Thành viên mới
Tham gia
15/11/07
Bài viết
25
Được thích
2
Nhờ các bác xem và giúp hộ mình
1. Mình có 1 sheet dữ liệu như sau:
EHJc7an.png


2. ở sheet 2:

tYVE8od.png



3. Yêu cầu lấy dữ liệu ở sheet 1 và insert thêm dòng như bảng sau:

nYyHVuS.png
 

File đính kèm

Chào iamhatinh,

Mời bạn xem file đính kèm.
Vui lòng đọc hết các ghi chú trong các sheets sau đó mới click vào các nút trong file.
 

File đính kèm

Upvote 0
Bạn cho mình hỏi :làm như cách này là xử lý trên sheet1 ,ý mình là muốn xử lý trên sheet2 và kết quả giống như cái ảnh thứ 3 đó
 
Upvote 0
Bạn cho mình hỏi :làm như cách này là xử lý trên sheet1 ,ý mình là muốn xử lý trên sheet2 và kết quả giống như cái ảnh thứ 3 đó
Bởi vì: Tôi thấy việc copy cái sheet1 ra rồi chèn thêm dòng nó nhanh và khỏe hơn là việc làm theo phương án của bạn.
Nếu mà bắt buộc làm theo cách của bạn thì bôi đỏ cái yêu cầu đó lên.
 
Upvote 0
Nhờ bạn xem hộ mình, mình có đính kèm file ở phía dưới
 

File đính kèm

Upvote 0
Nhờ bạn xem hộ mình, mình có đính kèm file ở phía dưới
Đã xem file. Cấu trúc dữ liệu vẫn thế.
Vậy phương án là copy sheet2 đó thành 1 sheet mới, sau đó dùng code ở bài 2 để chèn thêm dòng và tính tổng ứng với mỗi mã.
Bạn có thể gửi 1 phần dữ liệu của file thật đang làm và nói yêu cầu cuối cùng của việc làm này là gì không? (việc thêm dòng và tính tổng ứng với mỗi mã)
 
Upvote 0
Bạn dùng thử code này nhé, phản hồi khi có sai sót.
Mã:
Sub helloWorld()
 Dim sArr() As Variant, dArr() As Variant, i As Integer, w As Integer
 Dim Dic As Object, Str As String, Total As Long
 
 With Sheet2
    sArr = .Range("A2:E" & .Range("B1000").End(xlUp).Row).Value
    ReDim dArr(1 To UBound(sArr) + 10, 1 To 5)
    Set Dic = CreateObject("scripting.dictionary")
    For i = 1 To UBound(sArr, 1) Step 1
        Str = CStr(sArr(i, 2))
        If Not Dic.exists(Str) Then
            w = w + 2
            dArr(w - 1, 5) = Total: Total = 0
            Dic.Add Str, w
            dArr(w, 1) = sArr(i, 1): dArr(w, 2) = sArr(i, 2)
            dArr(w, 3) = sArr(i, 3): dArr(w, 4) = sArr(i, 4)
            dArr(w, 5) = sArr(i, 5): Total = sArr(i, 5)
        Else
            w = w + 1
            dArr(w, 3) = sArr(i, 3): dArr(w, 4) = sArr(i, 4)
            dArr(w, 5) = sArr(i, 5): Total = Total + sArr(i, 5)
        End If
    Next i
    dArr(w + 1, 5) = Total
    .Range("G10").Resize(w + 1, 5).ClearContents
    .Range("G10").Resize(w + 1, 5).Value = dArr
    .Range("G10").Resize(, 5).Value = .Range("A1").Resize(, 5).Value
    
 End With
 Set Dic = Nothing
End Sub
 
Upvote 0
Bạn dùng thử code này nhé, phản hồi khi có sai sót.
[/code]
trường hợp mình cũng tương tự, nhưng mà có thêm hàm dò tìm tham chiếu giữa 2sheet, bạn có thể giúp mình đc k? cảm ơn bạn
lấy dữ liệu bên sheet DATA sang bên Sheet danh sách, trong đó dò tìm ten bên sheet DATA nếu trùng với Ch_Hoten hoặc Vo_Hoten bên sheet DU LIEU, thì điền thông tin Ch_Namsinh, Vo_Namsinh tương ứng vào cột năm sinh, Ch_Thuongtru và Vo_Thuongtru vào Địa chỉ thường trú
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom