vanlinh_2904
Thành viên hoạt động
- Tham gia
- 20/10/12
- Bài viết
- 105
- Được thích
- 3
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lr&, id As String, f, u, ad As String
lr = Cells(Rows.Count, "C").End(xlUp).Row
If Intersect(Target, Range("B3:B" & lr)) Is Nothing Or Target.Count > 1 Then Exit Sub
id = Target.Offset(0, 1).Value
If Target.Value = "" Or id = "" Then Exit Sub
Set f = Range("C3:C" & lr).Find(what:=id, after:=Range("C3"), searchdirection:=xlNext)
If Not f Is Nothing Then
ad = f.Address
Set u = f.Offset(, -1)
Do
Set f = Range("C3:C" & lr).FindNext(f)
If Not f Is Nothing Then
Set u = Union(u, f.Offset(, -1))
End If
Loop Until f.Address = ad
End If
u.Value = Target.Value
End Sub
Nhờ anh sửa giúp em nếu copy dán dữ liệu có từ 2 ô trở lên vẫn chưa chạy được. Cảm ơn anh nhiều nhé.Chạy đỡ cái này. Click chuột phải trên tên sheet/View code, copy/paste code này vào:
Mã:Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim lr&, id As String, f, u, ad As String lr = Cells(Rows.Count, "C").End(xlUp).Row If Intersect(Target, Range("B3:B" & lr)) Is Nothing Or Target.Count > 1 Then Exit Sub id = Target.Offset(0, 1).Value If Target.Value = "" Or id = "" Then Exit Sub Set f = Range("C3:C" & lr).Find(what:=id, after:=Range("C3"), searchdirection:=xlNext) If Not f Is Nothing Then ad = f.Address Set u = f.Offset(, -1) Do Set f = Range("C3:C" & lr).FindNext(f) If Not f Is Nothing Then Set u = Union(u, f.Offset(, -1)) End If Loop Until f.Address = ad End If u.Value = Target.Value End Sub
Bỏ cái này điNhờ anh sửa giúp em nếu copy dán dữ liệu có từ 2 ô trở lên vẫn chưa chạy được. Cảm ơn anh nhiều nhé.
Or Target.Count > 1
Nhờ anh xem lại giúp em lỗi ở bài 5 giúp em với ạ.Bỏ cái này đi
Mã:Or Target.Count > 1