Lấy dữ liệu từ cell của nhiều sheet

Liên hệ QC

phamthao

Thành viên mới
Tham gia
18/1/09
Bài viết
5
Được thích
0
Chào các bạn,
mình có 1 file trong đó có chứa nhiều sheet khác nhau. Trong mỗi sheet được định dạng như nhau nhưng chỉ khác về số liệu.
Vd: file của mình có 10 sheet (sheet1, 2 . . .sheet10) và dữ liệu mình cần là cell D20 trong sheet1. Có cách nào tự động update giá trị D20 trong 10 sheet đó trong 1 sheet mới?
Cám ơn các bạn và chúc ngày tốt lành
 
Đơn giản lắm.
Bạn nhấp chuột vào sheet10 rồi giữ phím Shift nhấp tiếp chuột vào Sheet1.
Sau đó bạn chỉ việc nhập dữ liệu tại D20 của Sheet1 thì dữ liệu tự động đi vào 10 sheet kia.
Thân.
 
Cám ơn bạn Po, nhưng 10 sheet của mình đã có dữ liệu rồi, và mình muốn lấy giá trị của cell D20 vào sheet mới tự động cho 10 sheet thay vì mình mở sheet 1, copy giá trị D20 vào sheet mới; Sau đó mở sheet 2 và tiếp tục copy D20 vào sheet mới, cứ như vậy cho đến sheet 10. Làm như vậy thì mất thời gia quá. Các bạn có cách nào nhanh hơn không?
 
Cám ơn bạn Po, nhưng 10 sheet của mình đã có dữ liệu rồi, và mình muốn lấy giá trị của cell D20 vào sheet mới tự động cho 10 sheet thay vì mình mở sheet 1, copy giá trị D20 vào sheet mới; Sau đó mở sheet 2 và tiếp tục copy D20 vào sheet mới, cứ như vậy cho đến sheet 10. Làm như vậy thì mất thời gia quá. Các bạn có cách nào nhanh hơn không?

Có lẽ bạn phát biểu nhầm, hoặc là ý bạn không như thế này: copy 10 lần giá trị D20 từ 10 sheet vào đúng 1 vị trí D20 của sheet mới để làm gì? chúng sẽ chồng lên nhau mất!

Hay là bạn định copy D20 của 10 sheet vào- chẳng hạn: từ A1 đến A10 của sheet mới?
 
Cám ơn bạn Po, nhưng 10 sheet của mình đã có dữ liệu rồi, và mình muốn lấy giá trị của cell D20 vào sheet mới tự động cho 10 sheet thay vì mình mở sheet 1, copy giá trị D20 vào sheet mới; Sau đó mở sheet 2 và tiếp tục copy D20 vào sheet mới, cứ như vậy cho đến sheet 10. Làm như vậy thì mất thời gia quá. Các bạn có cách nào nhanh hơn không?
Bạn thấy có vô lý không khi lần copy đầu tiên thì D20 (Sheet mới) = D20 (sheet1). Rồi copy lần 2 thì D20 (Sheet mới) = D20 (sheet2). Tiếp theo copy lần 3 thì D20 (Sheet mới) = D20 (sheet3), ...... cuối cùng D20 (Sheet mới) = D20 (sheet10).
Vậy sao những lần copy ấy thì D20 (sheet mới) chỉ bằng D20 (sheet10).
Vậy cần gì code, bạn copy D20 (Sheet10) qua sheet mới là xong.
Thật là khó hiểu quá đi.
Thân.
 
XIn lỗi vì đã làm các bạn hiểu nhầm ý:
đúng như bạn hoangvuluan : mình muốn copy D20 của 10 sheet vào sheet mới - từ A1 tới A10
 
XIn lỗi vì đã làm các bạn hiểu nhầm ý:
đúng như bạn hoangvuluan : mình muốn copy D20 của 10 sheet vào sheet mới - từ A1 tới A10

Vậy cái này cần gì code nhỉ, Sheet [Tổnghợp], Ô [A1] bạn gõ:
PHP:
A1=INDIRECT("Sheet"&ROW()&"!D20")
Sau đó copy công thức xuống [A2:A10] là xong!
Nếu có thêm sheet thì cứ việc copy công thức cột A của sheet [Tổnghợp] xuống
 
Vậy bạn nhấn phải chuột vào tên sheet mới kia -> chọn View Code -> Rồi copy code dưới vào.
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
k = 1
For sh = 1 To Worksheets.Count
If Sheets(sh).Name <> ActiveSheet.Name Then
Cells(k, 1) = Sheets(sh).[D20]
k = k + 1
End If
Next
End Sub
Vậy là xong.
Thân.
 
Nếu tên Sheet của bạn đơn giản từ 1 đến 10 thì tại A1 của Sheet mới bạn nhập công thức sau
=INDIRECT("'Sheet"&ROW()&"'!D20")rồi kéo xuống các Cell khác
Nếu Sheet bạn đặt tên chắc bạn phải sử dụng cách lấy tên Sheet theo công thức của AnhTuan1066 hoặc thêm 1 cột phụ có tên các Sheet rồi thay cho Row() trong công thức trên
 
Nếu tên Sheet của bạn đơn giản từ 1 đến 10 thì tại A1 của Sheet mới bạn nhập công thức sau
=INDIRECT("'Sheet"&ROW()&"'!D20")rồi kéo xuống các Cell khác
Nếu Sheet bạn đặt tên chắc bạn phải sử dụng cách lấy tên Sheet theo công thức của AnhTuan1066 hoặc thêm 1 cột phụ có tên các Sheet rồi thay cho Row() trong công thức trên
Bạ có thể chi cho mình biết CT đó như thế nào không. mình tìm hoài mà không thấy. mình có nhiều sheet có đạt tên sheet khác nhau và muốn tổng hợp sang sheet TH. mình vẫn chũa biết phải làm cách nào cho nhanh. chỉ dùng cách thu công = và kích vào ô cần lấy dữ liệu.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom