Code VBA tra cứu kết quả trả về mảng dữ liệu (1 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

tiendu02

Thành viên mới
Tham gia
23/2/20
Bài viết
3
Được thích
0
Em chào các anh/chị trong diễn đàn ạ.
Các anh/chị trong diễn đàn có ai biết code VBA tra cứu kết quả trả về mảng dữ liệu không ạ? Chỉ giúp em với.
Em có file excel gồm 2 Sheet: Sheet "Data" và Sheet "Bang do". Bài toán yêu cầu là khi em nhập bất kỳ một mã nào đó ở một hàng bất kỳ của cột Mã trong Sheet "Bang do" thì các thông số của mã đó sẽ được lấy ra từ Sheet "Data" và giữ nguyên định dạng ạ. (File excel phía dưới).
Em cảm ơn anh/chị trong diễn đàn ạ.
 

File đính kèm

Lần chỉnh sửa cuối:
Em chào các anh/chị trong diễn đàn ạ.
Các anh/chị trong diễn đàn có ai biết code VBA tra cứu kết quả trả về mảng dữ liệu không ạ? Chỉ giúp em với.
Em có file excel gồm 2 Sheet: Sheet "Data" và Sheet "Bang do". Bài toán yêu cầu là khi em nhập bất kỳ một mã nào đó ở một hàng bất kỳ của cột Mã trong Sheet "Bang do" thì các thông số của mã đó sẽ được lấy ra từ Sheet "Data" và giữ nguyên định dạng ạ. (File excel phía dưới).
Em cảm ơn anh/chị trong diễn đàn ạ.
Góp vui.
bạn thử gõ số (1,2,3,....) vào Cột A bảng dò và Gõ Enter xem điều gì đã diễn ra.
Xem file
 

File đính kèm

Upvote 0
Em cảm ơn anh/chị nhiều ạ
Bài đã được tự động gộp:

Góp vui.
bạn thử gõ số (1,2,3,....) vào Cột A bảng dò và Gõ Enter xem điều gì đã diễn ra.
Xem file
Anh có thể thêm câu lệnh giúp em là khi em xóa mã trong cột Mã của Sheet "Bang do" thì các thông số của mã đó cũng sẽ tự động xóa đi với ạ.
 
Lần chỉnh sửa cuối:
Upvote 0
Em cảm ơn anh/chị nhiều ạ
Bài đã được tự động gộp:


Anh có thể thêm câu lệnh giúp em là khi em xóa mã trong cột Mã của Sheet "Bang do" thì các thông số của mã đó cũng sẽ tự động xóa đi với ạ.
Tức là Khi cột A/ bảng dò đã có 1 mã nào đó ví dụ là số 3. và các cột B-G đã có số liệu. Giờ xóa số 3 ở cột A đi thì lập tức dữ liệu của mã sô 3 ấy (từ cột B-G của sheet bảng dò) cũng bị xóa
 
Upvote 0
Thay code Trong Sheet Bang do bằng code này:
Dùng tạm trong khi chờ giải pháp tốt hơn.

Mã:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A3: A100000")) Is Nothing Then
    If Not IsEmpty(Target) Then
        Dim Rng As Range, R&, R2&
        Dim d&, Lr&
        Dim Sh As Worksheet
        Dim Ma
            Ma = Target
            Set Sh = Sheets("Data")
            Lr = Sh.Range("A1000000").End(xlUp).Row
            Set Rng = Sh.Range("A1:A" & Lr)
        If Not Rng.Find(Ma) Is Nothing Then
            R = Rng.Find(Ma).Row: d = Target.Row
            R2 = Sh.Range("A" & R).End(xlDown).Row - 1
            Sh.Range("B" & R, "G" & R2).Copy Range("B" & d)
        End If
    Else
    Dim Cell
   
 Dim Cell
        R = Target.Row
        R2 = Range("A" & R).End(xlDown).Row - 1
        If R2 >= 1048500 Then R2 = Range("B1048575").End(xlUp).Row
            Range("B" & R, "G" & R2).ClearContents
    End If
End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom