Để xem ai giải bài này bằng công thức.Mà tại sao không lấy các giá trị ở giữa vậy.Dear các anh chị GPE
em đang có file mẫu thế này, em muốn tập hợp tất cả những mã hàng có phát sinh từ các sheet (số) về sheet(All)
trong sheet (All) em làm mẫu dữ liệu em cần tập hợp tương tự từ các sheet khác.
em xin cám ơn
Cám ơn bạn đã góp ý.Để xem ai giải bài này bằng công thức.Mà tại sao không lấy các giá trị ở giữa vậy.
Tôi không xem kỹ nên chót code, thôi đành up lên vậyDear các anh chị GPE
em đang có file mẫu thế này, em muốn tập hợp tất cả những mã hàng có phát sinh từ các sheet (số) về sheet(All)
trong sheet (All) em làm mẫu dữ liệu em cần tập hợp tương tự từ các sheet khác.
em xin cám ơn
For each Ws in WorkSheets 'Quét chọn lần lượt các sheet nêu Không phải là "ALL" thì
If Ws.name<>"ALL" then
'tìm dòng cuối có dữ liệu
Lấy vùng "B9:K"&Lr gán vào mảng
Duyệt từng dòng trong mảng đó
........
lấy dữ liệu đưa vào mảng KQ
end If
Next Ws
gán xuống sheet
End Sub
cám ơn bạn.Tôi không xem kỹ nên chót code, thôi đành up lên vậy
Do bạn không nói rõ là lấy dữ liệu theo tiêu chí nào nên tôi (lấy tạm tiêu chí là Ô B1, B2 /Sh ALL) và các loại định dạng cho các cột bạn tự chỉnh, nhé : Đại khái code cơ bản như sau:
Xem file đính kèm. nhấn vào mặt cười để xem kết quả từ A15/Sh ALLMã:For each Ws in WorkSheets 'Quét chọn lần lượt các sheet nêu Không phải là "ALL" thì If Ws.name<>"ALL" then 'tìm dòng cuối có dữ liệu Lấy vùng "B9:K"&Lr gán vào mảng Duyệt từng dòng trong mảng đó ........ lấy dữ liệu đưa vào mảng KQ end If Next Ws gán xuống sheet End Sub
Cho cái kết quả chuẩn của sheets 1943 đã được tách ngày xem nào.Cám ơn bạn đã góp ý.
công thức hay VBA đều được cả.
trả lời câu hỏi của bạn : minh cần lấy các giá trị trong các ngày của bảng bên phải, nếu nhiều ngày thì sẽ chèn thêm xuống dưới cũng 1 mã hàng.
mình muốn nó copy ra theo từng ngày.
xin cám ơn
Bạn nên mô tả ro tiêu chí cần lọc (như bạn nói ở bài #5 là Cột G có dữ liệu -Đúng không? và G... = 2 , 5. thì là nhập 2 lần, 5 lần... đúng không?) tránh để người đọc bài muốn giúp họ phải đoán mò ý định của chủ thớt.cám ơn bạn.
yêu cầu của mình là lọc ra được theo từng sheet với các số "lần" về
trong file của mình gửi trên sheet(All) có 2 dòng tô đỏ đó, tương ứng với 2 lần về cùng 1 mã hàng bên sheet(1943)
Ví dụ:Cho cái kết quả chuẩn của sheets 1943 đã được tách ngày xem nào.
bên sheet(1943) có vùng để ngày 1 đến 25 đó huynh ơi.Bạn nên mô tả ro tiêu chí cần lọc (như bạn nói ở bài #5 là Cột G có dữ liệu -Đúng không? và G... = 2 , 5. thì là nhập 2 lần, 5 lần... đúng không?) tránh để người đọc bài muốn giúp họ phải đoán mò ý định của chủ thớt.
cám ơn bạn.
yêu cầu của mình là lọc ra được theo từng sheet với các số "lần" về
trong file của mình gửi trên sheet(All) có 2 dòng tô đỏ đó, tương ứng với 2 lần về cùng 1 mã hàng bên sheet(1943)
Do file của bạn toàn là tiếng Nhật do vậy....Ví dụ:
Sheet(1943) mã hàng D5FA6-E92F7-00 tổng số lượng về 100
Nhưng lại về 2 ngày là ngày 1 và 2 mỗi lần về số lượng 50
em có tô đỏ bên sheet(All) và sheet(1943)
Bài đã được tự động gộp:
bên sheet(1943) có vùng để ngày 1 đến 25 đó huynh ơi.
Số dòng của mã nguyên liệu tương ứng với số lần về
trong vùng em tô đỏ thì tổng nguyên liệu về là 100 và về trong 2 lần
dạ cám ơn sự giúp đỡ nhiệt tình của anhDo file của bạn toàn là tiếng Nhật do vậy....
Bạn xem lại file. Tôi chịu thua với định dạng file của bạn. Tôi để kết quả có cả dòng chứa dữ liệu của sh gốc đê bạn đõi chiếu cho tiện.
Vậy tiêu chí lọc của bạn LÀ GÌ? Cái bảng bên cạnh đó (M9:AK...) có trước hay bảng (B9:K...) có trướcdạ cám ơn sự giúp đỡ nhiệt tình của anh
trong sheet(All) là kết quả e mong muốn khi lọc ở sheet(1943)
Số em cần lấy theo mã hàng và ngày tại vùng M9:AK495
file em gửi là kết quả đúng sau khi lọc ở sheet(1943)
chứ không phải lấy cột số liệu như file a gửi
xin cám ơn
Chạy code . . .Dear các anh chị GPE
em đang có file mẫu thế này, em muốn tập hợp tất cả những mã hàng có phát sinh từ các sheet (số) về sheet(All)
trong sheet (All) em làm mẫu dữ liệu em cần tập hợp tương tự từ các sheet khác.
em xin cám ơn
Sub ABC()
Dim i&, j&, c&, sCol&, k&, shName$
Dim Arr(), aDate(), Res(), Ws As Worksheet
sCol = 25 'So cot Ngay
ReDim Res(1 To 10000, 1 To 9)
For Each Ws In Worksheets
shName = Ws.Name
If shName <> "ALL" Then
i = Ws.Cells(Rows.Count, 2).End(xlUp).Row
If i > 8 Then
Arr = Ws.Range("B9:K" & i).Value
aDate = Ws.Range("M9:M" & i).Resize(, sCol).Value
For i = 1 To UBound(Arr)
If Arr(i, 6) > 0 Then
For j = 1 To sCol
If aDate(i, j) <> Empty Then
k = k + 1
Res(k, 1) = shName
Res(k, 9) = aDate(i, j)
For c = 2 To 6
Res(k, c) = Arr(i, c - 1)
Next c
End If
Next j
End If
Next i
End If
End If
Next Ws
Sheets("All").Range("A5").Resize(10000, 9).ClearContents
If k Then Sheets("All").Range("A5").Resize(k, 9) = Res
End Sub
Cám ơn anh, code này chạy đúng như em yêu cầu ạ.Chạy code . . .
Mã:Sub ABC() Dim i&, j&, c&, sCol&, k&, shName$ Dim Arr(), aDate(), Res(), Ws As Worksheet sCol = 25 'So cot Ngay ReDim Res(1 To 10000, 1 To 9) For Each Ws In Worksheets shName = Ws.Name If shName <> "ALL" Then i = Ws.Cells(Rows.Count, 2).End(xlUp).Row If i > 8 Then Arr = Ws.Range("B9:K" & i).Value aDate = Ws.Range("M9:M" & i).Resize(, sCol).Value For i = 1 To UBound(Arr) If Arr(i, 6) > 0 Then For j = 1 To sCol If aDate(i, j) <> Empty Then k = k + 1 Res(k, 1) = shName Res(k, 9) = aDate(i, j) For c = 2 To 6 Res(k, c) = Arr(i, c - 1) Next c End If Next j End If Next i End If End If Next Ws Sheets("All").Range("A5").Resize(10000, 9).ClearContents If k Then Sheets("All").Range("A5").Resize(k, 9) = Res End Sub