ARCH_ANGEL
Thành viên chính thức


- Tham gia
- 16/2/13
- Bài viết
- 55
- Được thích
- 2
Khôg có ai giúp e ah. E đang cần quá. Mong mọi ngưòi giúp e với. E không biết nhiều về macro
Cám ơn anh nhiều lắm, nhưng hình như số liệu tổng hợp sai hay sao ý ạ. E gửi lại file mẫu, a giúp e tổng hợp lại như e làm ở sheet tổng hợp nhé.số liệu của bạn giống số của điệp viên 007 quá, bạn xem file này coi có giống giống ý bạn hong?
Code này cũng tương đương code của bài số 3. Thêm cho bạn cái phần ghi chú. Cứ copy code vào 1 module rồi bầm nút thôi. Lưu ý tên sheet Tong Hop phải đúng như file bạn đã gởiCám ơn anh nhiều lắm, nhưng hình như số liệu tổng hợp sai hay sao ý ạ. E gửi lại file mẫu, a giúp e tổng hợp lại như e làm ở sheet tổng hợp nhé.
1 file excel của e có vài chục sheet , mỗi lần e muốn dùng sang file khác thì chỉ việc copy mỗi code sang là chạy được đúng không anh
Sub tonghop()
Dim sh As Worksheet
Sheets("Tong Hop").[A3:F10000].ClearContents
For Each sh In Worksheets
If sh.Name <> "Tong Hop" Then
sh.Range(sh.[A18], sh.[A18].End(4)).Resize(, 5).Copy
With Sheets("Tong Hop").[A65536].End(3)
.Offset(1).PasteSpecial 1
.Offset(1, 5) = sh.Name
End With
End If
Next
End Sub
A ơi cột ghi chú không có dòng kẻ từng ô anh ạ.Code này cũng tương đương code của bài số 3. Thêm cho bạn cái phần ghi chú. Cứ copy code vào 1 module rồi bầm nút thôi. Lưu ý tên sheet Tong Hop phải đúng như file bạn đã gởi
..........
Cái phần tên trong côt A có trời mới biết cái nào là tên nhân viên, cái nào là tên khách.
PHP:Sub tonghop() Dim sh As Worksheet Sheets("Tong Hop").[A3:F10000].ClearContents For Each sh In Worksheets If sh.Name <> "Tong Hop" Then sh.Range(sh.[A18], sh.[A18].End(4)).Resize(, 5).Copy With Sheets("Tong Hop").[A65536].End(3) .Offset(1).PasteSpecial 1 .Offset(1, 5) = sh.Name End With End If Next End Sub
A ơi làm ơn giúp e nốt được không. E cám ơnCode này cũng tương đương code của bài số 3. Thêm cho bạn cái phần ghi chú. Cứ copy code vào 1 module rồi bầm nút thôi. Lưu ý tên sheet Tong Hop phải đúng như file bạn đã gởi
..........
Cái phần tên trong côt A có trời mới biết cái nào là tên nhân viên, cái nào là tên khách.
PHP:Sub tonghop() Dim sh As Worksheet Sheets("Tong Hop").[A3:F10000].ClearContents For Each sh In Worksheets If sh.Name <> "Tong Hop" Then sh.Range(sh.[A18], sh.[A18].End(4)).Resize(, 5).Copy With Sheets("Tong Hop").[A65536].End(3) .Offset(1).PasteSpecial 1 .Offset(1, 5) = sh.Name End With End If Next End Sub
Mần thí vầy nha, bài khó quá.A ơi cột ghi chú không có dòng kẻ từng ô anh ạ.
Còn tên nhân viên là nằm ở cột ca-nhân viên đó ạ. Còn lại thì là khách.
Nếu làm lằng nhằng quá anh giúp em gộp luôn nhân viên cả khách vào cũng tạm được vậy chỉ cần tổng hợp lại ai nợ thiếu ca bao nhiêu là được rồi ạ
Em chân thành cám ơn
Sub thongke()
Dim data(), i, kq(1 To 10000, 1 To 3), k, tam
With Sheets("Tong Hop")
data = .Range(.[A3], .[A65536].End(3)).Resize(, 5).Value
With CreateObject("scripting.dictionary")
For i = 1 To UBound(data)
If data(i, 3) <> "" Or data(i, 5) <> "" Then
If Not .exists(data(i, 1)) Then
k = k + 1
.Add data(i, 1), k
kq(k, 1) = data(i, 1)
If data(i, 3) > 0 Then kq(k, 2) = data(i, 3)
If data(i, 5) > 0 Then kq(k, 3) = data(i, 5)
Else
If data(i, 3) > 0 Then
kq(.Item(data(i, 1)), 2) = kq(.Item(data(i, 1)), 2) + data(i, 3)
End If
If data(i, 5) > 0 Then
kq(.Item(data(i, 1)), 3) = kq(.Item(data(i, 1)), 3) + data(i, 5)
End If
End If
End If
Next
End With
.[H3].Resize(k, 3) = kq
.[H3].Resize(k, 3).Borders.Value = 1
.Range(.[H3], .[H65536].End(3)).Resize(, 3).Sort .[I2]
End With
End Sub
Bảo sao mà lúc e copy code sang bảng excel khác, lúc tổng hợp dữ liệu nó copy luôn cả khoảng trăng vào rồi phần tổng cộng nó cũng copy luôn. Còn copy thiếu dữ liệu nữa. Cơ mà e thay cái mới của anh vào thì không tổng hợp được luôn. Nó báo lỗi luônSửa lại code này. Code trong file đính kèm bị lỗi rồi
PHP:Sub thongke() Dim data(), i, kq(1 To 10000, 1 To 3), k, tam With Sheets("Tong Hop") data = .Range(.[A3], .[A65536].End(3)).Resize(, 5).Value With CreateObject("scripting.dictionary") For i = 1 To UBound(data) If data(i, 3) <> "" Or data(i, 5) <> "" Then If Not .exists(data(i, 1)) Then k = k + 1 .Add data(i, 1), k kq(k, 1) = data(i, 1) If data(i, 3) > 0 Then kq(k, 2) = data(i, 3) If data(i, 5) > 0 Then kq(k, 3) = data(i, 5) Else If data(i, 3) > 0 Then kq(.Item(data(i, 1)), 2) = kq(.Item(data(i, 1)), 2) + data(i, 3) End If If data(i, 5) > 0 Then kq(.Item(data(i, 1)), 3) = kq(.Item(data(i, 1)), 3) + data(i, 5) End If End If End If Next End With .[H3].Resize(k, 3) = kq .[H3].Resize(k, 3).Borders.Value = 1 .Range(.[H3], .[H65536].End(3)).Resize(, 3).Sort .[I2] End With End Sub
Muốn biết tại sao thi gởi file lỗi lên. Tiên thánh cũng không đoán biết là lỗi gì thì làm sao mà sửa code?Bảo sao mà lúc e copy code sang bảng excel khác, lúc tổng hợp dữ liệu nó copy luôn cả khoảng trăng vào rồi phần tổng cộng nó cũng copy luôn. Còn copy thiếu dữ liệu nữa. Cơ mà e thay cái mới của anh vào thì không tổng hợp được luôn. Nó báo lỗi luôn
Đây anh ạ. A giúp e với nhé. Em cám ơn nhiềuMuốn biết tại sao thi gởi file lỗi lên. Tiên thánh cũng không đoán biết là lỗi gì thì làm sao mà sửa code?
Tuyệt vời quá anh ạ. Không biết nói sao nữa cám ơn anh nhiều nhiều lắmCứ tưởng là con cá nhỏ nên dùng con dao nhỏ xíu. Té ra dữ liệu của bạn loạn 12 sứ quân nên dùng con dao to thêm 1 chút
Nhưng mà anh ơi , nó lại cứ phân biệt chữ hoa chữ thường anh ạ.( ở phần bảng dư nợ tổng hợp anh ạ) A giúp e gộp chữ hoa với chữ thường lại với nhau với.Cứ tưởng là con cá nhỏ nên dùng con dao nhỏ xíu. Té ra dữ liệu của bạn loạn 12 sứ quân nên dùng con dao to thêm 1 chút
Chưa gì đã la làng là tuyệt vời:Nhưng mà anh ơi , nó lại cứ phân biệt chữ hoa chữ thường anh ạ.( ở phần bảng dư nợ tổng hợp anh ạ) A giúp e gộp chữ hoa với chữ thường lại với nhau với.
Giờ thì không còn tuyệt vời nữa sao?Tuyệt vời quá anh ạ. Không biết nói sao nữa cám ơn anh nhiều nhiều lắm
Ông bà mình nói không sai mà. Gieo gì gặt đó thôi.Nhưng mà anh ơi , nó lại cứ phân biệt chữ hoa chữ thường anh ạ.( ở phần bảng dư nợ tổng hợp anh ạ) A giúp e gộp chữ hoa với chữ thường lại với nhau với.
Vâng không có gì, e sẽ cố tự làm. Cám ơn anh ạ.Ông bà mình nói không sai mà. Gieo gì gặt đó thôi.
Bạn gởi dữ liệu kiểu đó thì mình làm kiểu đó. Mọi cái khó đã xong, phần phân biệt chữ hoa và chữ thường quá đơn giản. Bạn tự làm đi. Mình hết hứng thú với bài này rồi.
Làm phiền anh quá, cột tổng hợp phần "nợ" vẫn chưa trừ đi phần "có" anh ạ. Anh giúp e cái này được không ạ.Ông bà mình nói không sai mà. Gieo gì gặt đó thôi.
Bạn gởi dữ liệu kiểu đó thì mình làm kiểu đó. Mọi cái khó đã xong, phần phân biệt chữ hoa và chữ thường quá đơn giản. Bạn tự làm đi. Mình hết hứng thú với bài này rồi.
Cố lên đi bạn................................... (cho đủ từ quy định)Ông bà mình nói không sai mà. Gieo gì gặt đó thôi.
Bạn gởi dữ liệu kiểu đó thì mình làm kiểu đó. Mọi cái khó đã xong, phần phân biệt chữ hoa và chữ thường quá đơn giản. Bạn tự làm đi. Mình hết hứng thú với bài này rồi.