Truy xuất dữ liệu từ 1 sheet ra nhiều sheet (1 người xem)

Liên hệ QC

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

chipchip0105

Thành viên mới
Tham gia
27/11/13
Bài viết
3
Được thích
0
Các bạn ơi, mình có một vấn đề muốn nhờ giúp đỡ của mọi người. Hiện tại mình có 1 sheet CSDL là source để mình xuất báo cáo ra nhiều sheet nhỏ. Các sheet nhỏ đều có cấu trúc khác nhau và mỗi sheet đại diện cho một khách hàng.
Hiện tại, để làm việc này mình thường pivot từ CSDL và Vlookup đối với từng sheet. Nhưng do bây giờ số lượng khách hàng mình nắm lại quá lớn nên việc Vlookup thủ công này tốn quá nhiều thời gian, nên các bạn vui lòng hướng dẫn mình xem có cách nào có thể cài 1 kiểu công thức để truy xuất ra toàn bộ các sheet cùng 1 lúc khi mà CSDL thay đổi không. Việc mình cần làm lúc đó chỉ là update CSDL mới mà thôi.
Mình gửi các bạn file ví dụ đính kèm. Nhờ các bạn nào có kinh nghiệm làm cái này hướng dẫn giúp mình nha.
Cám ơn nhiều
 

File đính kèm

hiểu nhầm điều kiện của đề.
P/S xuất dữ liệu nhờ Thầy viết vba thôi
 
Chỉnh sửa lần cuối bởi điều hành viên:
Các bạn ơi, mình có một vấn đề muốn nhờ giúp đỡ của mọi người. Hiện tại mình có 1 sheet CSDL là source để mình xuất báo cáo ra nhiều sheet nhỏ. Các sheet nhỏ đều có cấu trúc khác nhau và mỗi sheet đại diện cho một khách hàng.
Hiện tại, để làm việc này mình thường pivot từ CSDL và Vlookup đối với từng sheet. Nhưng do bây giờ số lượng khách hàng mình nắm lại quá lớn nên việc Vlookup thủ công này tốn quá nhiều thời gian, nên các bạn vui lòng hướng dẫn mình xem có cách nào có thể cài 1 kiểu công thức để truy xuất ra toàn bộ các sheet cùng 1 lúc khi mà CSDL thay đổi không. Việc mình cần làm lúc đó chỉ là update CSDL mới mà thôi.
Mình gửi các bạn file ví dụ đính kèm. Nhờ các bạn nào có kinh nghiệm làm cái này hướng dẫn giúp mình nha.
Cám ơn nhiều
Hổng lẽ 200 KH tạo 200 sheet?
Thử với 1 sheet thôi, chọn maKH rồi xem kết quả.
Được thì xài, hông thì thôi vậy.
 

File đính kèm

Đúng rồi đó bạn. Đó là do yêu cầu của công ty và cũng như việc xuất ra từng khách hàng còn giúp làm 1 loạt các báo cáo khác, nên phải xuất ra thành từng sheet
Có cách nào để giúp mình được không
 
vậy là buộc phải xài VBA còn các công thức trong excel không có cách nào để biết đổi ra nó như là vlookup theo tên sheet sao các bạn :)
 
Đúng rồi đó bạn. Đó là do yêu cầu của công ty và cũng như việc xuất ra từng khách hàng còn giúp làm 1 loạt các báo cáo khác, nên phải xuất ra thành từng sheet
Có cách nào để giúp mình được không
Chép code sau vào ThisWorkBook:

Mã:
Private Sub Workbook_NewSheet(ByVal sh As Object)
  sh.Move After:=Sheets(Sheets.Count)
  If dv <> "" Then sh.Name = dv

End Sub

Chép code sau vào module:

Mã:
Public dv As String

Sub TaoList()
With Sheet1
   .Range("B1:B1470").AdvancedFilter 2, , .Range("IV1"), True
   .Range("IV2:IV" & .[IV65500].End(xlUp).Row).Name = "Khach"
End With
End Sub
Sub xoa()
Dim sh As Worksheet
Application.DisplayAlerts = False
    For Each sh In ThisWorkbook.Sheets
        If UCase(sh.CodeName) <> "SHEET1" Then
            sh.Delete
        End If
    Next
Application.DisplayAlerts = True
End Sub
Sub TachSheet()
Application.ScreenUpdating = False
On Error Resume Next
xoa
TaoList
    With Sheet1
        For i = 1 To Range("Khach").Count
            dv = UCase(Range("Khach").Cells(i, 1))
            Sheets.Add
            .Range("A1:E1500").AutoFilter Field:=2, Criteria1:=dv
            .[A1].CurrentRegion.Copy Sheets(dv).[A1]
        Next
        .ShowAllData
        .Activate
    End With
Application.ScreenUpdating = True

End Sub

Bạn chạy Sub TachSheet nhé.
 

File đính kèm

Anh ơi có thể giúp em code tách các sheet theo mẫu xác nhận này không
 

File đính kèm

Anh ơi có thể giúp em code tách các sheet theo mẫu xác nhận này không

Bạn chỉ việc nhấn nút cám ơn cho những người đã giúp ở những bài trước mà còn làm biếng, thì ai siêng để bỏ thời gian ra làm giúp cho bạn.

Cái này là tôi chỉ nhắc nhỡ chung thôi, nếu thành viên nào có bài viết hay hoặc giúp đỡ cho mình thì nhớ làm ơn nhấn nút cám ơn giùm 1 cái, để động viên người giúp có tinh thần giúp tiếp.

Tôi thấy có 1 số thành viên vô tâm lắm, nhờ giúp vào tải File thấy đúng ý là chạy mất dép, không 1 lời cám ơn, sau 1 thời gian sử dụng gặp vấn đề lại quay lại hỏi tiếp (đối với những người như thế này tôi cũng chạy mất dép luôn), vì những người này vô ơn bạc nghĩa thì giúp họ để làm gì cho mất thời gian (họ chỉ hỏi 1 câu rồi vô tư đi giải trí hoặc yên trí ngũ 1 giấc tới sáng), thức dậy, "ờ mình không cần tốn công, tốn sức thì cũng có người làm giùm mình".
 
Anh ơi có thể giúp em code tách các sheet theo mẫu xác nhận này không

Bạn nên đưa File với tiêu đề đầy đủ.

Tách là tách cái gì, ở cột nào (phải nêu chuẩn cột), tách thì nó cũng phải theo tiêu chí cột, mà bạn nêu chung chung như thế này thì khó hiểu quá, ai biết đường mà giúp.
 
Bạn nên đưa File với tiêu đề đầy đủ.

Tách là tách cái gì, ở cột nào (phải nêu chuẩn cột), tách thì nó cũng phải theo tiêu chí cột, mà bạn nêu chung chung như thế này thì khó hiểu quá, ai biết đường mà giúp.

Bạn mới là người khó hiểu, vấn đề này chỉ cần người đọc và theo dõi các mẫu trên là có thể tự hiểu.
 
Chắc ý bạn là như thế này (Code viết tạm) mò tiếp nếu sai gì nha --=0
 

File đính kèm

Bạn mới là người khó hiểu, vấn đề này chỉ cần người đọc và theo dõi các mẫu trên là có thể tự hiểu.

Thật ra tôi muốn hỏi kỹ để giúp cho bạn được chính xác, còn nếu bạn nêu vấn đề này thì thôi đỡ tốn thời gian công sức và đỡ tốn quota (vì mỗi lần đưa File tôi phải mất đi một phần dung lượng mà diễn đàn cấp cho tôi), nếu gửi File nhiều quá thì hết quota nên tôi để dành cho việc khác.

Tôi nghĩ chỉ cần dùng 1 sheet là có thể sử dụng cho vài chục phiếu hoặc vài trăm chứ đâu cần phải Add ra nhiều sheet như vậy, nếu vài trăm khách hàng thì sheet đâu mà chứa và di chuyển đến từng khách hàng bằng cách nào?
 
Lần chỉnh sửa cuối:
Cảm ơn bạn rất nhiều!
 
Bạn mới là người khó hiểu, vấn đề này chỉ cần người đọc và theo dõi các mẫu trên là có thể tự hiểu.

"Thiệt là tình"
Có người như bạn be09 năm nay sắp về hưu rồi, muốn làm giúp cho GPE, đọc câu này chắc xin hưu sớm.
Ráng 2 năm thôi anh be09. Tôi cũng sắp theo anh rồi.
Tôi sẽ lưu cái "Pirate" này và "cạch" luôn.
Híc!
 
Lần chỉnh sửa cuối:
"Thiệt là tình"
Có người như bạn be09 năm nay sắp về hưu rồi, muốn làm giúp cho GPE, đọc câu này chắc xin hưu sớm.
Ráng 2 năm thôi anh be09. Tôi cũng sắp theo anh rồi.
Tôi sẽ lưu cái "Pirate" này và "cạch" luôn.
Híc!

Nhất trí.

Tôi tính hỏi kỹ để giúp 1 lần cho chắc ăn, nhưng bạn ấy nêu 1 câu thiếu thiện chí và không cần giúp nên đành thôi.
 
Bạn chỉ việc nhấn nút cám ơn cho những người đã giúp ở những bài trước mà còn làm biếng, thì ai siêng để bỏ thời gian ra làm giúp cho bạn.

Cái này là tôi chỉ nhắc nhỡ chung thôi, nếu thành viên nào có bài viết hay hoặc giúp đỡ cho mình thì nhớ làm ơn nhấn nút cám ơn giùm 1 cái, để động viên người giúp có tinh thần giúp tiếp.

Tôi thấy có 1 số thành viên vô tâm lắm, nhờ giúp vào tải File thấy đúng ý là chạy mất dép, không 1 lời cám ơn, sau 1 thời gian sử dụng gặp vấn đề lại quay lại hỏi tiếp (đối với những người như thế này tôi cũng chạy mất dép luôn), vì những người này vô ơn bạc nghĩa thì giúp họ để làm gì cho mất thời gian (họ chỉ hỏi 1 câu rồi vô tư đi giải trí hoặc yên trí ngũ 1 giấc tới sáng), thức dậy, "ờ mình không cần tốn công, tốn sức thì cũng có người làm giùm mình".

Xin lỗi 2 anh, do em mới tham gia diễn đàn ngày 31/12/2014, em cũng không phải thiếu thiện chí, nhưng do quote trên em hơi buồn 1 tí, nên nói vậy, mong 2 anh thông cảm và nhận lời xin lỗi này
 

Tôi không có ý bắt bẻ, chỉ góp vài ý kiến theo sự hiểu biết của mình.

Khi rảnh rổi thì vào diễn đàn tham gia vài ý kiến nho nhỏ gọi là đóng góp cho diễn đàn, thành viên nào chấp nhận ý kiến đóng góp thì đó là điều tốt, còn không chấp nhận thì cũng chẳng sao.

Lần sau nếu gặp lại thì dọt cho lẹ để đỡ mất thời gian và đỡ tốn hao tâm trí.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom