Tổng Hợp Dữ Liệu (2 người xem)

Liên hệ QC

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

vuongtoituonglai

Thành viên thường trực
Tham gia
7/5/14
Bài viết
350
Được thích
47
Chào các anh, chị và các bạn!
Mình có một vấn đề cần được sự giúp đỡ của quý anh chị và các bạn. Tất cả những gì mình mong muốn được sự giúp đỡ đều có trong file.
Rất mong nhận được sự đỡ.
 

File đính kèm

Một ngày sắp trôi qua rồi, sao không có cao thủ nào ra tay giúp đỡ mình vậy.
 
Upvote 0
Bạn có thể thử làm theo video hướng dẫn consolidate data trong excel của mình, chỉ khác là data của bạn ở trong cùng 1 workbook. Nếu không được thì comment lại, mình có thể giúp bạn. Đầu tiên bạn thử tự giúp mình xem có được không :)

[video=youtube;ShTVo4sHAlc]https://www.youtube.com/watch?v=ShTVo4sHAlc[/video]
 
Upvote 0
Cảm ơn bạn, sau khi xem đoạn video mình không làm được gì cả, bạn có thể chỉ thêm cho mình.
 
Upvote 0
Cảm ơn bạn, sau khi xem đoạn video mình không làm được gì cả, bạn có thể chỉ thêm cho mình.

Cho mình hỏi trước:
1. Dữ liệu của bạn từ hệ thống nào ra hay là do điền bằng tay?
2. Dữ liệu có nhiều không?
3. Cấu trúc của bảng tính cần lấy dữ liệu có thường xuyên thay đổi không?
 
Upvote 0
Việc này chẳng có gì khó, chỉ có cái bạn lấy dữ liệu từ sheet Ton qua sheet 1, 2, 3 tiêu đề cột không thống nhất nên mình tự làm khó cho mình trong việc trích lọc dữ liệu.
Không khó thì bạn giúp mình đi, nhưng chỉ có điều lấy dữ liệu từ sheet 1,2,3 qua sheet Ton bạn nhé. Do dữ liệu ban đầu định dạng các cột của sheet 1,2,3 như vậy rồi nên giờ không sửa lại được vì còn những phần mềm có liên quan đến dữ lieu này. Bạn cố gang giúp mình nhé. Cảm ơn
 
Upvote 0
Cho mình hỏi trước:
1. Dữ liệu của bạn từ hệ thống nào ra hay là do điền bằng tay?
2. Dữ liệu có nhiều không?
3. Cấu trúc của bảng tính cần lấy dữ liệu có thường xuyên thay đổi không?

Cảm ơn bạn đã quan tâm giúp đỡ
1. Dữ liệu mình nhập vào bằng tay
2. Dữ liệu của sheet 1,2,3 cộng lại nhiều nhất khoảng 1000 dòng
3. Dữ liệu của sheet 1,2,3 hầu như đều có thay đổi mỗi tháng, mỗi tháng mình phải tổng hợp dữ liệu từ sheet 1,2,3 qua sheet "Ton" một lần rồi sau đó in ra để đi kiểm hàng tồn kho thực tế.
Bạn cố gắng nghiêng cứu giúp mình nhé. Cảm ơn bạn.
 
Upvote 0
Cảm ơn bạn đã quan tâm giúp đỡ
1. Dữ liệu mình nhập vào bằng tay
2. Dữ liệu của sheet 1,2,3 cộng lại nhiều nhất khoảng 1000 dòng
3. Dữ liệu của sheet 1,2,3 hầu như đều có thay đổi mỗi tháng, mỗi tháng mình phải tổng hợp dữ liệu từ sheet 1,2,3 qua sheet "Ton" một lần rồi sau đó in ra để đi kiểm hàng tồn kho thực tế.
Bạn cố gắng nghiêng cứu giúp mình nhé. Cảm ơn bạn.

Bác thử nhé.

------------------------------------------------------------
 

File đính kèm

Upvote 0
Cảm ơn kuldokk rất nhiều, mình có thể thêm đoạn code này vào module1 được không bạn? Nếu được thì thêm vào chổ nào? Bạn chỉ mình nhé.
With Sheets("Ton")
.Font.Name = "Courier New"
.Font.Size = 10
End With
With .[F5].Resize(k)
.NumberFormat = "#,##0"
.Font.Size = 14
.Font.Bold = True
.Font.ColorIndex = 3
End With
With .[B5:D5].Resize(k)
.Font.Size = 10
.Font.ColorIndex = 1
End With
 
Upvote 0
Cảm ơn kuldokk rất nhiều, mình có thể thêm đoạn code này vào module1 được không bạn? Nếu được thì thêm vào chổ nào? Bạn chỉ mình nhé.
With Sheets("Ton")
.Font.Name = "Courier New"
.Font.Size = 10
End With
With .[F5].Resize(k)
.NumberFormat = "#,##0"
.Font.Size = 14
.Font.Bold = True
.Font.ColorIndex = 3
End With
With .[B5:D5].Resize(k)
.Font.Size = 10
.Font.ColorIndex = 1
End With

Anh có thể thêm vào Sub chuyen_du_lieu, ngay trước đoạn
Mã:
Public Sub chuyen_du_lieu
...
[chèn code vào đây]
MsgBox "Done in " & (Timer - start) & " s."
...
end sub

chú ý thay k bằng số phù hợp.
 
Upvote 0
Anh có thể thêm vào Sub chuyen_du_lieu, ngay trước đoạn
Mã:
Public Sub chuyen_du_lieu
...
[chèn code vào đây]
MsgBox "Done in " & (Timer - start) & " s."
...
end sub

chú ý thay k bằng số phù hợp.
Cảm ơn bạn nhé, mình làm theo bạn hướng dẫn nhưng code không chạy được bạn kiểm tra dùm mình làm sai chổ nào. Phần code mình thêm vào có màu đỏ nhé. Chân thành cảm ơn.
Public Sub chuyen_du_lieu()
Application.ScreenUpdating = False
Dim dong_cuoi_sheet_ton As Long
Dim start As Double
Dim borderTypeI As Integer, i As Integer
Dim stt() As Long
start = Timer
'xoa du lieu
dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")

If dong_cuoi_sheet_ton > 5 Then
xoa_du_lieu
End If
'copy du lieu
dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")
copy_du_lieu_tu_sheet1 (dong_cuoi_sheet_ton)

dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")
copy_du_lieu_tu_sheet2 (dong_cuoi_sheet_ton)

dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")
copy_du_lieu_tu_sheet3 (dong_cuoi_sheet_ton)

dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")
ReDim stt(1 To (dong_cuoi_sheet_ton - 4), 1 To 1)

For i = 1 To UBound(stt, 1)
stt(i, 1) = i
Next i
'tinh toan
With ActiveWorkbook.Sheets("Ton")
.Range("G5:G" & dong_cuoi_sheet_ton).Formula = "=H5*E5"
.Range("I5:I" & dong_cuoi_sheet_ton).Formula = "=IF(F5>G5,kiem_lai,"""")"
.Range("J5:J" & dong_cuoi_sheet_ton).Formula = "=F5-G5"
For borderTypeI = 7 To 12
With .Range("A5:K" & dong_cuoi_sheet_ton).Borders(borderTypeI)
.LineStyle = xlContinuous
End With
Next
.Range("A5").Resize((dong_cuoi_sheet_ton - 4), 1) = stt
End With
With Sheets("Ton")
.Font.Name = "Courier New"
.Font.Size = 10
End With
With .[F5].Resize(6)
.NumberFormat = "#,##0"
.Font.Size = 14
.Font.Bold = True
.Font.ColorIndex = 3
End With
With .[B5:D5].Resize(11)
.Font.Size = 10
.Font.ColorIndex = 1
End With


MsgBox "Done in " & (Timer - start) & " s."
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Chào các anh, chị và các bạn!
Mình có một vấn đề cần được sự giúp đỡ của quý anh chị và các bạn. Tất cả những gì mình mong muốn được sự giúp đỡ đều có trong file.
Rất mong nhận được sự đỡ.
Code bị sai nên xóa bỏ.......
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bạn nhé, mình làm theo bạn hướng dẫn nhưng code không chạy được bạn kiểm tra dùm mình làm sai chổ nào. Phần code mình thêm vào có màu đỏ nhé. Chân thành cảm ơn.
Public Sub chuyen_du_lieu()
Application.ScreenUpdating = False
Dim dong_cuoi_sheet_ton As Long
Dim start As Double
Dim borderTypeI As Integer, i As Integer
Dim stt() As Long
start = Timer
'xoa du lieu
dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")

If dong_cuoi_sheet_ton > 5 Then
xoa_du_lieu
End If
'copy du lieu
dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")
copy_du_lieu_tu_sheet1 (dong_cuoi_sheet_ton)

dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")
copy_du_lieu_tu_sheet2 (dong_cuoi_sheet_ton)

dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")
copy_du_lieu_tu_sheet3 (dong_cuoi_sheet_ton)

dong_cuoi_sheet_ton = dong_cuoi_cung_cua_cot("Ton", "B")
ReDim stt(1 To (dong_cuoi_sheet_ton - 4), 1 To 1)

For i = 1 To UBound(stt, 1)
stt(i, 1) = i
Next i
'tinh toan
With ActiveWorkbook.Sheets("Ton")
.Range("G5:G" & dong_cuoi_sheet_ton).Formula = "=H5*E5"
.Range("I5:I" & dong_cuoi_sheet_ton).Formula = "=IF(F5>G5,kiem_lai,"""")"
.Range("J5:J" & dong_cuoi_sheet_ton).Formula = "=F5-G5"
For borderTypeI = 7 To 12
With .Range("A5:K" & dong_cuoi_sheet_ton).Borders(borderTypeI)
.LineStyle = xlContinuous
End With
Next
.Range("A5").Resize((dong_cuoi_sheet_ton - 4), 1) = stt
End With
With Sheets("Ton")
.Font.Name = "Courier New"
.Font.Size = 10
End With
With .[F5].Resize(6)
.NumberFormat = "#,##0"
.Font.Size = 14
.Font.Bold = True
.Font.ColorIndex = 3
End With
With .[B5:D5].Resize(11)
.Font.Size = 10
.Font.ColorIndex = 1
End With


MsgBox "Done in " & (Timer - start) & " s."
Application.ScreenUpdating = True
End Sub

bác thử lại thế này nhé
 

File đính kèm

Upvote 0
Code bị sai nên xóa bỏ.......

Bạn QuangHai1969 ơi, mình định ăn cơm tối xong rồi nhắn lời cảm ơn bạn và chép code về nghiêng cứu chưa kịp làm thì bạn đã xóa code rồi. Dù gì đi chăn nữa mình cũng chân thành cảm ơn bạn. Chúng ta ở Bình Dương mong sớm gặp bạn để được học hỏi về lĩnh vực viết code.
 
Upvote 0
Web KT

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

Back
Top Bottom