Cách lấy dữ liệu từ sheet này sang sheet khác (1 người xem)

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

quangdongnd37

Thành viên mới
Tham gia
28/5/13
Bài viết
12
Được thích
0
Hiện tại em đang tập làm dự toán, có một vấn đề em muốn hỏi các tiền bối, mong các tiền bối giúp đơ!
Trong sheet "Tổng hợp định mức" em có các định mức riêng biệt. bây giờ em muốn đưa 1 định mức sang sheet "Phân tích" mà chỉ cần nhập tên định mức thì làm thế nào?
VD: Trong sheet "Phân tích" em điền vào ô A1: AB.5141.2 thì toàn bộ dự liệu ở vùng A15:D36 của sheet "Tổng hợp định mức" sẽ được chuyển sang vùng A1:D22 trong sheet "Phân tích".
Mong các pro giúp đỡ!
 

File đính kèm

Hiện tại em đang tập làm dự toán, có một vấn đề em muốn hỏi các tiền bối, mong các tiền bối giúp đơ!
Trong sheet "Tổng hợp định mức" em có các định mức riêng biệt. bây giờ em muốn đưa 1 định mức sang sheet "Phân tích" mà chỉ cần nhập tên định mức thì làm thế nào?
VD: Trong sheet "Phân tích" em điền vào ô A1: AB.5141.2 thì toàn bộ dự liệu ở vùng A15:D36 của sheet "Tổng hợp định mức" sẽ được chuyển sang vùng A1:D22 trong sheet "Phân tích".
Mong các pro giúp đỡ!
Bạn xem file xem được chưa nhé !
 

File đính kèm

Cảm ơn bạn đã trả lời mình!
Nhưng cho mình hỏi tại sao mình mở file bạn gửi lên thì thấy một thông báo lỗi và không thực hiện được như mình muồn? có cần cài đặt gì thêm để đọc file của bạn không có thể dùng các hàm và công thức để làm việc này được không
 
Cảm ơn bạn đã trả lời mình!
Nhưng cho mình hỏi tại sao mình mở file bạn gửi lên thì thấy một thông báo lỗi và không thực hiện được như mình muồn? có cần cài đặt gì thêm để đọc file của bạn không có thể dùng các hàm và công thức để làm việc này được không
Tôi nghĩ bạn Ngoai Thạnh giúp bạn bằng VBA. Muốn vậy để chạy được Macro thì bạn phải enable macros trước khi mở File nhé!
Xem hướng dẫn dưới chữ kí của tôi!
 
Hiện tại em đang tập làm dự toán, có một vấn đề em muốn hỏi các tiền bối, mong các tiền bối giúp đơ!
Trong sheet "Tổng hợp định mức" em có các định mức riêng biệt. bây giờ em muốn đưa 1 định mức sang sheet "Phân tích" mà chỉ cần nhập tên định mức thì làm thế nào?
VD: Trong sheet "Phân tích" em điền vào ô A1: AB.5141.2 thì toàn bộ dự liệu ở vùng A15:D36 của sheet "Tổng hợp định mức" sẽ được chuyển sang vùng A1:D22 trong sheet "Phân tích".
Mong các pro giúp đỡ!
Bạn chuột nói đúng đó bạn nếu file của Bạn Hoài Thanh xài bằng VBA bạn enable Macro thì nó mới chạy được còn mình cho bạn thêm một cách không sử dụng VBA bạn chỉ cần chọn ở ô A1 của sheet phân tích thì nó sẽ lấy dữ liệu ở sheet Tổng hợp định mức.
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn chuột nói đúng đó bạn nếu file của Bạn Hoài Thanh xài bằng VBA bạn enable Macro thì nó mới chạy được còn mình cho bạn thêm một cách không sử dụng VBA bạn chỉ cần chọn ở ô A1 của sheet phân tích thì nó sẽ lấy dữ liệu ở sheet Tổng hợp định mức.
Công thức của bạn nếu tại ô A1 nhập mã "AB.1111.1" thì phần dữ liệu thừa của mã trước(dữ liệu mã trước dài hơn chẳng hạn") sẽ không bị mất đi dẫn đến tưởng kết quả sai. Cần bổ sung thêm!
 
Cảm ơn bạn đã trả lời mình!
Nhưng cho mình hỏi tại sao mình mở file bạn gửi lên thì thấy một thông báo lỗi và không thực hiện được như mình muồn? có cần cài đặt gì thêm để đọc file của bạn không có thể dùng các hàm và công thức để làm việc này được không
Bạn chuột nói đúng đó, Bạn xem text thử rồi hồi âm xem sao !
 
Tôi nghĩ bạn Ngoai Thạnh giúp bạn bằng VBA. Muốn vậy để chạy được Macro thì bạn phải enable macros trước khi mở File nhé!
Xem hướng dẫn dưới chữ kí của tôi!
Vừa ngó qua code bạn viết thấy cơ bản là được rồi nhưng theo tôi trước khi nhập 1 mã mới vào thì nên xóa dữ liệu của mã cũ đi. Vì tôi thấy nếu dữ liệu của mã sau ít hơn mã trước thì phần dữ liệu thừa không bị xóa đi!
------------------------------
Tôi bổ sung thêm 2 dòng lệnh này vào code của bạn:
Mã:
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Vung As Range, iHang As Long, iNhay As Long
    On Error Resume Next
    If Not Intersect(Target, [A3:A65536]) Is Nothing Then
[COLOR=#ff0000]            Range("B3:D" & Range("D65500").End(xlUp).Row).Borders.LineStyle = xlNone[/COLOR]
[COLOR=#ff0000]            Range("B3:D" & Range("D65500").End(xlUp).Row).ClearContents[/COLOR]
        If Target.Count = 1 Then
            Set Vung = Sheets("dinhmuc").Range(Sheets("dinhmuc").[B1], Sheets("dinhmuc").[B65536].End(xlUp)).Offset(, -1)
            iHang = Application.WorksheetFunction.Match(Target, Vung, 0)
            iNhay = Vung(iHang).End(xlDown).Row - Vung(iHang).Row
            Vung(iHang).Offset(, 1).Resize(iNhay, 4).Copy Target.Offset(, 1)
        End If
        End If
End Sub
 
Lần chỉnh sửa cuối:
Vừa ngó qua code bạn viết thấy cơ bản là được rồi nhưng theo tôi trước khi nhập 1 mã mới vào thì nên xóa dữ liệu của mã cũ đi. Vì tôi thấy nếu dữ liệu của mã sau ít hơn mã trước thì phần dữ liệu thừa không bị xóa đi!
------------------------------
Tôi bổ sung thêm 2 dòng lệnh này vào code của bạn:
Mã:
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Vung As Range, iHang As Long, iNhay As Long
    On Error Resume Next
    If Not Intersect(Target, [A3:A65536]) Is Nothing Then
[COLOR=#ff0000]            Range("B3:D" & Range("D65500").End(xlUp).Row).Borders.LineStyle = xlNone[/COLOR]
[COLOR=#ff0000]            Range("B3:D" & Range("D65500").End(xlUp).Row).ClearContents[/COLOR]
        If Target.Count = 1 Then
            Set Vung = Sheets("dinhmuc").Range(Sheets("dinhmuc").[B1], Sheets("dinhmuc").[B65536].End(xlUp)).Offset(, -1)
            iHang = Application.WorksheetFunction.Match(Target, Vung, 0)
            iNhay = Vung(iHang).End(xlDown).Row - Vung(iHang).Row
            Vung(iHang).Offset(, 1).Resize(iNhay, 4).Copy Target.Offset(, 1)
        End If
        End If
End Sub
chuột đúng không phải dân dự toán rồi, người ta cứ nhập liên tục mã định mức nối tiếp nhau tại cột A (căn cứ dữ liệu cuối ở cột B) cho đến xong dự toán . Chứ lọc ra rồi lại copy đi chỗ khác thì nói làm gì ! còn muốn xóa thì chỉ cần : Range("A3:D65500").clear thôi bạn .
 
Lần chỉnh sửa cuối:
chuột đúng không phải dân dự toán rồi, người ta cứ nhập liên tục mã định mức nối tiếp nhau tại cột A (căn cứ dữ liệu cuối ở cột B) cho đến xong dự toán . Chứ lọc ra rồi lại copy đi chỗ khác thì nói làm gì !
Hic, chạy thôi không phải dân trong nghề cứ "xía" vô. Chốc lại đủ ghạch xây nhà!--=0
 
Hiện tại em đang tập làm dự toán, có một vấn đề em muốn hỏi các tiền bối, mong các tiền bối giúp đơ!
Trong sheet "Tổng hợp định mức" em có các định mức riêng biệt. bây giờ em muốn đưa 1 định mức sang sheet "Phân tích" mà chỉ cần nhập tên định mức thì làm thế nào?
VD: Trong sheet "Phân tích" em điền vào ô A1: AB.5141.2 thì toàn bộ dự liệu ở vùng A15:D36 của sheet "Tổng hợp định mức" sẽ được chuyển sang vùng A1:D22 trong sheet "Phân tích".
Mong các pro giúp đỡ!

xem file, chỉ cần gõ, không cần ... gãi
 

File đính kèm

xem file, chỉ cần gõ, không cần ... gãi
Phương án thì đúng rồi, nhưng vẫn chưa chấp nhận được vì còn câu lệnh không cho phép trong bài này
On Error Resume Next vì sẽ không lấy được mã hiệu cuối cùng
Và code không giới hạn vùng làm việc nên nhập đâu code cũng chạy vô tư
 
Lần chỉnh sửa cuối:
Cảm ơn các bác đá chỉ giáo. em làm được rồi.
 

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

Back
Top Bottom