Tách sheet dữ liệu theo điều kiến! (1 người xem)

Liên hệ QC

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

luckydophin

Thành viên mới
Tham gia
29/10/11
Bài viết
21
Được thích
0
Hi! cả nhà!

Hiện tại mình có một vấn đề gấp và gay go muốn nhờ pro giúp đỡ.

Ko biết có cho mình ngu ko nữa! mình muốn tách dữ liệu của một sheet tổng hợp thành các sheet khác nhau theo điều kiện cho trước.

Trong sheet bán hàng có nhiều nhân viên, khi thông tin nhập vào sheet bán hàng, theo tên nhân viên nào thì thông tin hàng đó được chuyển qua sheet của nhân viên đó.
Ví dụ! mình nhập thông tin mua hàng của khách hàng Ok hết, thông tin nhân viên bán hàng là 2-Tuyến, thì dòng đó sẽ được tự động cập nhật qua sheet của Tuyến.
Xin cảm ơn mọi người!
 
Lần chỉnh sửa cuối:
Hi! cả nhà!

Hiện tại mình có một vấn đề gấp và gay go muốn nhờ pro giúp đỡ.

Ko biết có cho mình ngu ko nữa! mình muốn tách dữ liệu của một sheet tổng hợp thành các sheet khác nhau theo điều kiện cho trước.

Trong sheet bán hàng có nhiều nhân viên, khi thông tin nhập vào sheet bán hàng, theo tên nhân viên nào thì thông tin hàng đó được chuyển qua sheet của nhân viên đó.
Ví dụ! mình nhập thông tin mua hàng của khách hàng Ok hết, thông tin nhân viên bán hàng là 2-Tuyến, thì dòng đó sẽ được tự động cập nhật qua sheet của Tuyến.
Xin cảm ơn mọi người!
Mình nghĩ trước hết, để tránh mất thời gian giả lập dữ liệu cho người muốn giúp đỡ (đôi khi lại không đúng ý bạn) thì bạn hãy gửi file thực tế của bạn lên đây, hoặc ít nhất thì cũng có cấu trúc giống với file trong thực tế của bạn. Có như vậy thì bạn sẽ nhận được câu trả lời phù hợp nhất.
 
Upvote 0

File đính kèm

Upvote 0
Ko được anh ah!

Vì em muốn tách ra nhiều sheet, nhưng hiện tại thì anh chỉ tách ra một sheet thôi, và phải nhập điều kiện để hiện thị tên cần lấy.

Giả sử em có 4 nhân viên, thì em sẽ tạo 4 sheet nhỏ, và dữ liệu được tự động chuyển qua nếu thoả mãn điều kiện.

Vì yêu cầu là nhân viên này không được xem thông tin của người khác.

Em cảm ơn!
 
Upvote 0
Ko được anh ah!

Vì em muốn tách ra nhiều sheet, nhưng hiện tại thì anh chỉ tách ra một sheet thôi, và phải nhập điều kiện để hiện thị tên cần lấy.

Giả sử em có 4 nhân viên, thì em sẽ tạo 4 sheet nhỏ, và dữ liệu được tự động chuyển qua nếu thoả mãn điều kiện.

Vì yêu cầu là nhân viên này không được xem thông tin của người khác.

Em cảm ơn!
Bài toán của bạn hơi ngược. Tại sao không phải là mỗi người nhập dữ liệu riêng của mình, sau đó tổng hợp thành cái chung?
Nếu bạn vẫn muốn sử dụng cách này thì mình nghĩ có một cách khác (thủ công) nhưng cũng khá đơn giản, đó là: Cuối mỗi ngày, bạn sắp xếp dữ liệu theo cột NV Quản Lý, sau đó copy dữ liệu của từng người rồi dán sang sheet tương ứng. Nếu thấy công việc này nhàm chán thì Record một cái Macro cho chuỗi thao tác trên và gán cho nó một tổ hợp phím tắt, mỗi khi cần sử dụng chỉ chỉ cần nhấn tổ hợp phím này là được.
 
Upvote 0
em đồng ý! tuy nhiên làm như vậy thì thật sự là quá thủ công. Hơn nữa nếu nhập ở 4 sheet rồi tổng hợp thành một sheet thì ko được tiện lắm vì có một người nhập liệu, nếu nhập ở 4 sheet, thì ko tiện lắm, nên muốn nhập một sheet sau đó chia ra cho 4 người.

Chẳng lẻ không có cách nào để làm được điều đó sao?
 
Lần chỉnh sửa cuối:
Upvote 0
Mình sẽ giúp bạn bằng VBA, nhưng bạn cần thống nhất với mình những điểm sau

(*) Tên trang tính không nên xài tiếng Việt có dấu & chứa khoảng trắng;

Tên trang tính của các nhân viên nên là 00NDT (Cho cô Ngô Đại Trắng) hay 90LeL (Cho chàng Lê La. . . ).
Tên các trang tính khác chỉ chứa các ký tự ở 2 chữ số đầu;

(*) Để ra lệnh chuyển thông tin từ trang 'HangBan' sang các trang nhân viên nào đó ta có chí ít 2 cách:
- Macro sự kiện; Macro sẽ thi hành khi ta nhập xong ô tại cột qui ước nào đó của hàng dữ liệu.
- Tạo 1 nút lệnh để bạn bấm vô, lúc đó macro sẽ vận hành.
(Bạn cho biết, theo bạn thì bạn ưng cách nào?)

(#) Những chú í nhỏ khác, những mong bạn không lặp lại khi xài với êxcel:

+ Đừng bao giờ tô màu cả hàng hay cả cột; Ta chỉ nên tô màu vùng có dữ liệu mà thôi; Thậm chí chỉ tô tiêu đề cột hay ô nào trong hàng cần chú í mà thôi; Màu sắc cũng nên biết tiết kiệm chứ bộ!
Bạn ngẫm xem, toàn bộ các tiêu đề đều tô 1 màu thì cũng gióng như cô gái tô lọ nồi lên mặt thôi!
Còn gọi là trang điểm để gây chú í thì các cô gái thường làm như vầy:
Vô bếp lữa vào mùa đông; Sau thời gian soi giương & ghi vô bộ nhớ của mình chổ nào hồng hào thì những lần sau lấy son fấn tô vô những chổ í thôi!
Những người hề sắp lên sân khấu mới tô khác thường, fải vậy không bạn!

+ Tên các trang tính không nên lê thê, nhưng đảm bảo chuyển tải nhiều thông tin nhất đến người (tiêu) dùng. Ví dụ 'BanHang hay HangBan, Index, KhHg, DoiTT,. . . . là đủ gợi cảm rồi.

+ Mã khách hàng hay mã nhân viên nên có độ dài như nhau; & điều quan trọng hơn đó là: Mã sau không là sự tiếp tục của mã trước;
Ví dụng cho rõ Đã có mã khách hàng là 09LeL rồi thì với cô khách hàng Lê Lan tiếp theo ta nên xài 09LLn, chứ không nên là 09LeL 1

+ Bạn đưa file lên quá là thật thà, đến nổi gây khó cho bạn sau này, cũng nh7 trước mắt gây khổ cho người muốn giúp bạn;

Bạn có mã nhân viên là Đài Trang, nhưng trong trang KhHg không có 1 cọng Đài Trang nào làm thuốc là nghĩa làm sao vậy?

Giả lập file cũng có iêu cầu đề ra là chuyển tải hết toàn bộ ngóc ngách của vấn đề; Có vậy khỏi mất thời giờ của chính bạn & những người có nhã í giúp bạn. Đó là chuyển cứ hỏi đi hỏi lại. Còn mình thì cho đó là biểu hiện của người chưa thấu đáo công việc chuyên môn, nghiệp vụ mình đang làm

Những mong bạn sẽ khá hơn sau khi đọc những lời nặng nề này!
 
Upvote 0
trả lời Nghĩa Phúc

Ok! em đồng ý!
Làm được là may mắn lắm rồi
 
Upvote 0
Hi! cả nhà!
Hiện tại mình có một vấn đề gấp và gay go muốn nhờ pro giúp đỡ.
Ko biết có cho mình ngu ko nữa! mình muốn tách dữ liệu của một sheet tổng hợp thành các sheet khác nhau theo điều kiện cho trước.
Trong sheet bán hàng có nhiều nhân viên, khi thông tin nhập vào sheet bán hàng, theo tên nhân viên nào thì thông tin hàng đó được chuyển qua sheet của nhân viên đó.
Ví dụ! mình nhập thông tin mua hàng của khách hàng Ok hết, thông tin nhân viên bán hàng là 2-Tuyến, thì dòng đó sẽ được tự động cập nhật qua sheet của Tuyến.
Xin cảm ơn mọi người!
Copy thêm sheet cho mỗi nhân viên, đặt tên sheet đúng như tên NV quản lý (cột F trong sheet Bán trong ngày) là tự động ra chi tiết từng nhân viên.
Lưu ý: Bạn nên đặt lại mã nhân viên quản lý, không có dấu: VD: 1-TUYEN ; 2-DAITRANG để tránh những sai sót về lỗi chính tả
 

File đính kèm

Upvote 0
Cảm ơn bebo021999 ! Nhưng sao em ko làm được!

Cho em hỏi tí nữa!
Làm sao em có thể tách 1 sheet (trong file của anh) thành một file riêng khác không? (vì em em dùng 2007, khi mà em đặt công thức (tại ô A1 của file khác) =A1 (của file của anh thì không được)

Còn em thêm sheet nữa thì ko được ah, em ko biết sao!

Mà bây giờ em gấp quá! Em nhờ anh chỉnh sửa cho em tí nữa đi!
Em gửi file gốc mà em dự định tách ra các sheet mới để anh giúp em với (còn chi tiết thì lúc có thời gian em sẽ học hỏi sau!)
Cảm ơn anh trước
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn mọi người đã quan tâm giúp đỡ nhiệt tình, điều mà mình thích ở diễn đàn này nhất.

Còn vấn đề này giải quyết được vì File hơi nặng thiệt, nếu lên đến ngàn dòng chắc là đứng máy quá, nhưng dù sao cũng cảm ơn rất nhiều. chưa giải quyết được vì
 
Upvote 0
Bạn xem trong file kèm theo của mình

Một số chú í khi dùng:

(*) Trong trang 'BanHang' mình đã trưng thu cột ghi chú để hỗ trợ cho macro

(*) Trong trang 'KhHg' mình có thêm cột TenTT & nội dung của chúng cần đảm bảo các chỉ dẫn sau:
Chữ đầu tiên fải là ký số
Nên có độ dài là 7 như nhau; Nếu chưa đủ thì thêm số vô & dài quá thì bớt.

(**) Nếu file của bạn là lớn thì macro là 1 biện fáp tốt đó nghe!

(*) Mình chưa có thời gian coi file mới đưa lên của bạn, nên đang xài file cũ tại #1 có sửa đổi theo nhu cầu của macro.
 

File đính kèm

Upvote 0
thanks SA_DQ!
Rất tiện ích, đúng cái mình cần rồi
Tuy nhiên mình thêm 3 sheet nữa, tên đúng 7 ký tự, không biết sao nó lại không hoạt động như file của bạn! nó chạy không theo qui cách gì cả, tên của người này thì nó chạy sang sheet của ngưòi kia và một số thì không chuyển đi đâu luôn!
 
Upvote 0
Bạn xem file này coi có đúng ý chưa nha
 

File đính kèm

Upvote 0
Cảm ơn quanghai1969. thật tình thì file bạn gửi mình chẳng hiểu gì hết! nó đơn giản, nó không theo khuôn khổ nào hết! thanks
 
Upvote 0
Bạn xem file mình đã tách theo tên nhân viên đúng yêu cầu của bạnddassy. Bạn nhập dữ liệu thật vào xem sao nha
 

File đính kèm

Upvote 0
Đúng là kết quả còn sai do chúng là công thức chứ chưa là dữ liệu

Bạn chịu khó chép macro này đà lên toàn bộ cái cũ nha:

PHP:
Option Explicit
Sub GPE()
 Dim Sh As Worksheet, Rng As Range, Cls As Range
 Dim Col As Byte, Rws As Long
 Dim ShName As String
 
1 'Xóa Du Lieu Truo1c Da Có:'
 For Each Sh In ThisWorkbook.Worksheets
   If IsNumeric(Left(Sh.Name, 1)) Then
      Set Rng = Sh.[b3].CurrentRegion
      Col = Rng.Columns.Count:      Rws = Rng.Rows.Count
      Sh.[b4].Resize(Rws, Col).ClearContents
   End If
 Next Sh
 Sheets("BanHang").Select
 For Each Cls In Range([x4], [x4].End(xlDown))
   ShName = Cls.Value
   Set Sh = ThisWorkbook.Worksheets(ShName)
   Sh.[B65500].End(xlUp).Offset(1).Resize(, Col).Value = Cells(Cls.Row, "B").Resize(, Col).Value
 Next Cls
End Sub

Xin lỗi vì mất ít nhiều thời gian của bạn!
 
Upvote 0
Hay .. Rất tuyệt vời ...sư tổ !
 
Upvote 0

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

Back
Top Bottom