Làm thế nào để chọn mã ở sheet tổng hợp mà có thông tin của các sheet dữ liệu. (4 người xem)

  • Thread starter Thread starter duc.dic
  • Ngày gửi Ngày gửi
Liên hệ QC

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

duc.dic

Thành viên mới
Tham gia
9/8/12
Bài viết
14
Được thích
2
Gửi các anh các chị.
Em có bảng tổng hợp về dự trù vật tư các công trình. Em muốn hỏi làm cách nào khi em chọn vào ô "mã công trình" bất cứ mã nào thì sẽ tự nhảy ra nội dung các thông tin ở sheet chứa nội dung của công trình ấy.Cảm ơn các anh chị rất nhiều.
 
Lần chỉnh sửa cuối:
Không down được các file trên , nhưng thử dùng VLOOKUP chắc được
 
em vẫn tải được mà. Em dùng thử vlookup rồi, nhưng chỉ được 1 sheet, còn em muốn tất cả các sheet khác đều vậy, nhập mã tên của sheet nào thì dữ liệu đều có ở file tổng hợp hết. Thử tải lại giúp em với ạ.
 
em gửi lại file đính kèm

mọi người thử tải lại giúp em xem nhé.Thanks.
 
Lần chỉnh sửa cuối:
em vẫn tải được mà. Em dùng thử vlookup rồi, nhưng chỉ được 1 sheet, còn em muốn tất cả các sheet khác đều vậy, nhập mã tên của sheet nào thì dữ liệu đều có ở file tổng hợp hết. Thử tải lại giúp em với ạ.
File của bạn đưa từ sáng đến giờ mà các anh-chị trên diễn đàn không có ý kiến gì, có thể do yêu cầu của bạn không rõ ràng, có thể là do bạn quá "tiết kiệm" khi đưa 2 file giống nhau mà không có chút dữ liệu gì, ít nhất cũng phải có 1 vài dữ liệu để người viết còn biết đường mà test, không lẽ tự sinh dữ liệu giả rồi tự test hay sao?????
 
Xin lỗi mọi người, em đã up lại dữ liệu.

Mong muốn của em là:
Khi mình chọn "mã công trình" ở trong sheet "tổng hợp công trình" thì tất cả dữ liệu của công trình ấy ở các sheet dữ liệu tự động nhảy, tương tự như hàm vlookup nhưng chọn mã bất kỳ nào cũng đều cho kết quả hết. Cảm ơn mọi người.
 

File đính kèm

Cũng chưa hiểu hết ý của bạn, vì mỗi sheet chỉ có 1 hay có nhiều mã công trình? nếu chọn 1 mã thì macro sẽ quét toàn bộ bảng tính, tìm mã tương ứng với sheet có chứa và sẽ copy nội dung từ sheet đó vào sheet tổng hợp.
Không biết có đúng như thế không, bạn xem chi tiết trong file: click chọn 1 mã và xem kết quả chạy macro có đúng ý chưa?
 

File đính kèm

Dạ, đúng mong muốn của em rồi bác ạ.Cảm ơn bác rất nhiều. Bác có thể cho em mã macro này và cách thực hiện được không ạ, nếu em muốn tổng hợp từ nhiều sheet hơn nữa thì phải làm như thế nào? Macro em không được tốt cho lắm.Bác có thể giúp em chi tiết một chút được không?
 
Dạ, đúng mong muốn của em rồi bác ạ.Cảm ơn bác rất nhiều. Bác có thể cho em mã macro này và cách thực hiện được không ạ, nếu em muốn tổng hợp từ nhiều sheet hơn nữa thì phải làm như thế nào? Macro em không được tốt cho lắm.Bác có thể giúp em chi tiết một chút được không?
Hix, macro đi kèm theo file mà, tôi có dấu gì đâu.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("C5")) Is Nothing Then Exit Sub
Const thCT = "Tong hop cong trinh"
Dim sh As Worksheet, sSh As Worksheet, rSh As Range
With Application
.ScreenUpdating = False
.EnableEvents = False
    Set sSh = Nothing
    For Each sh In Worksheets
        If sh.Name <> Me.Name Then
            If sh.Range("C5") = Me.Range("C5") Then
                Set sSh = sh
            End If
        End If
    Next
    Me.Range("A9").Resize(100, 11).ClearContents
    If Not sSh Is Nothing Then
        Set rSh = sSh.Range("A9").Resize(sSh.Range("B9").End(xlDown).Row - 8, 11)       
        rSh.Copy
        Me.Range("A9").PasteSpecial xlPasteValuesAndNumberFormats
    End If
.CutCopyMode = False
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

Macro này không phụ thuộc số sheet bạn có, bao nhiêu cũng thế thôi.
 
Hix, macro đi kèm theo file mà, tôi có dấu gì đâu.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("C5")) Is Nothing Then Exit Sub
Const thCT = "Tong hop cong trinh"
Dim sh As Worksheet, sSh As Worksheet, rSh As Range
With Application
.ScreenUpdating = False
.EnableEvents = False
    Set sSh = Nothing
    For Each sh In Worksheets
        If sh.Name <> Me.Name Then
            If sh.Range("C5") = Me.Range("C5") Then
                Set sSh = sh
            End If
        End If
    Next
    Me.Range("A9").Resize(100, 11).ClearContents
    If Not sSh Is Nothing Then
        Set rSh = sSh.Range("A9").Resize(sSh.Range("B9").End(xlDown).Row - 8, 11)       
        rSh.Copy
        Me.Range("A9").PasteSpecial xlPasteValuesAndNumberFormats
    End If
.CutCopyMode = False
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

Macro này không phụ thuộc số sheet bạn có, bao nhiêu cũng thế thôi.
Cảm ơn bác rất nhiều.
 
Gửi các anh các chị.
Em có bảng tổng hợp về dự trù vật tư các công trình. Em muốn hỏi làm cách nào khi em chọn vào ô "mã công trình" bất cứ mã nào thì sẽ tự nhảy ra nội dung các thông tin ở sheet chứa nội dung của công trình ấy.Cảm ơn các anh chị rất nhiều.

Bạn xem thử File này coi có đúng yêu cầu bạn không? (dữ liệu trong File là giả định).
File này tôi làm giúp người khác, trong đó các tên sheet tôi để nguyên chưa sửa vì nếu sửa tôi phải sửa toàn bộ code trong File, nếu đúng ý bạn thì bạn xem và cho ý kiến cần thêm chức năng gì nữa cần sửa tên sheet là tên gì tôi sửa lại theo ý bạn cho hoàn chỉnh.

Lưu ý: ở sheet có tên TonghopTHEODOIDODAC tôi sử dụng PivotTable cũng viết bằng Macro bạn có thể xóa sheet này và chạy Macro có tên wksTheoDoiDD.TonghopTHEODOIDODAC nó sẽ xuất hiện trở lại.
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn xem thử File này coi có đúng yêu cầu bạn không? (dữ liệu trong File là giả định).
File này tôi làm giúp người khác, trong đó các tên sheet tôi để nguyên chưa sửa vì nếu sửa tôi phải sửa toàn bộ code trong File, nếu đúng ý bạn thì bạn xem và cho ý kiến cần thêm chức năng gì nữa cần sửa tên sheet là tên gì tôi sửa lại theo ý bạn cho hoàn chỉnh.

Lưu ý: ở sheet có tên TonghopTHEODOIDODAC tôi sử dụng PivotTable cũng viết bằng Macro bạn có thể xóa sheet này và chạy Macro có tên wksTheoDoiDD.TonghopTHEODOIDODAC nó sẽ xuất hiện trở lại.

Bạn có thể cho mình pass của VBA để mình tham khảo ko? thanks b
 

File đính kèm

Web KT

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

Back
Top Bottom