Cập nhật giá trị khi có sự kiện thay đổi 1 vùng nào đó.

  • Thread starter Thread starter LEHOC
  • Ngày gửi Ngày gửi
Liên hệ QC

LEHOC

Thành viên chính thức
Tham gia
11/1/17
Bài viết
89
Được thích
0
demo-hocexcel.PNG
Em có 1 file demo, em muốn khi chọn giá trị bên ô A2 và nhập giá trị vào B2 thì sẽ gán giá trị đó vào cột B tương ứng tại vùng A5:B18 cho tới khi nào có thay đổi mới nhất. Hiện tại em dùng hàm vlookup không xử lý được vì nó chỉ điền vào được 1 ô ở cột B. Em muốn, ví dụ: A2= 5001, B2 =1 => B5 =1; khi A2 = 5010, B2 = 5 => B14 = 5 nhưng giá trị tại B5 vẫn còn (B5 =1).
Em cảm ơn anh/chị đã quan tâm và trợ giúp!
 

File đính kèm

View attachment 217050
Em có 1 file demo, em muốn khi chọn giá trị bên ô A2 và nhập giá trị vào B2 thì sẽ gán giá trị đó vào cột B tương ứng tại vùng A5:B18 cho tới khi nào có thay đổi mới nhất. Hiện tại em dùng hàm vlookup không xử lý được vì nó chỉ điền vào được 1 ô ở cột B. Em muốn, ví dụ: A2= 5001, B2 =1 => B5 =1; khi A2 = 5010, B2 = 5 => B14 = 5 nhưng giá trị tại B5 vẫn còn (B5 =1).
Em cảm ơn anh/chị đã quan tâm và trợ giúp!
Thử code sau, trật thì thôi nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, xFind As Range
Set Rng = Sheet2.Range("A5:A" & Sheet2.Range("A65535").End(xlUp).Row)
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        Set xFind = Rng.Find(Target.Value, , , 1)
        If Not xFind Is Nothing Then
            xFind.Offset(, 1).Value = Target.Offset(, 1).Value
        End If
    End If
End Sub
 

File đính kèm

Upvote 0
Thử code sau, trật thì thôi nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, xFind As Range
Set Rng = Sheet2.Range("A5:A" & Sheet2.Range("A65535").End(xlUp).Row)
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        Set xFind = Rng.Find(Target.Value, , , 1)
        If Not xFind Is Nothing Then
            xFind.Offset(, 1).Value = Target.Offset(, 1).Value
        End If
    End If
End Sub
Em tải file của anh về. Vừa mới thay đổi danh sách ô A2 thì các ô từ B5: B18 lỗi Name?
(Em dùng excel 2010)
 

File đính kèm

  • Untitled.png
    Untitled.png
    46.1 KB · Đọc: 3
Upvote 0
Em tải file của anh về. Vừa mới thay đổi danh sách ô A1 thì các ô từ B5: B18 lỗi Name?
(Em dùng excel 2010)
Do file của bạn @LEHOC có công thức, dò tìm và sử dụng hàm IFNA, bạn xóa hết công thức đó hoặc thay IFNA thành IFERROR là được.
Mã:
=_xlfn.IFNA(VLOOKUP(A5,A2:$B$2,2,0),"")
 
Upvote 0
Dựa vào code của anh leonguyenz, em sửa lại chút để khi kết thúc nhập giá trị vào ô B2 thì cập nhập vào bảng tính vùng B5:B18
Chúc anh ngày vui
 

File đính kèm

Upvote 0
Cảm ơn các bác đã cho ý kiến. Thanks all.
 
Upvote 0
Dựa vào code của anh leonguyenz, em sửa lại chút để khi kết thúc nhập giá trị vào ô B2 thì cập nhập vào bảng tính vùng B5:B18
Chúc anh ngày vui
Bác ơi, em có vấn đề này khó hơn chút, bác có thể chỉ giáo em với được không. Em đã cố đọc code của bác và suy ra mà không thể vì em không biết nhiều về vba.
Vấn đề của em: em muốn có button, khi nhấn sẽ cập nhật data từ sheet Detail sang sheet Sub tương ứng với số lượng hàng hoá và mã đối tượng.
Em cảm ơn tất cả các bác đã quan tâm và chỉ giáo!
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom