Giúp code cập nhật dữ liệu từ cột A sang Cột B (1 người xem)

Liên hệ QC

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

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chào cả nhà GPE !
em dùng đoạn code sau

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
i = Selection.Row
If Not Intersect(Target, [B1:B1000]) Is Nothing Then ' neu thuc thi trong vung
If Range("a" & i + 1).Value = "" Then ' neu o A1 trong thi ap dung con nguoc lai khong ap dung
Range("a" & i + 1).Value = Range("b" & i).Value
End If
End If
End sub





Em làm code chạy chỉ đúng khi em nhập xong em nhấn mủi tên sang phải là ok, Còn e mà nhập xong em nhấn Ente, lên,xuống, kích chuột vào ô khác thì nó không cập nhật. mong mọi người giúp đở
 

File đính kèm

Sửa đoạn code lại thế này nhé.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B1:B1000]) Is Nothing Then ' neu thuc thi trong vung
    If Target.Offset(1, -1).Value = "" Then ' neu o A1 trong thi ap dung con nguoc lai khong ap dung
        Target.Offset(1, -1).Value = Target.Value
    End If
End If
End Sub
 
Upvote 0
Sửa đoạn code lại thế này nhé.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B1:B1000]) Is Nothing Then ' neu thuc thi trong vung
    If Target.Offset(1, -1).Value = "" Then ' neu o A1 trong thi ap dung con nguoc lai khong ap dung
        Target.Offset(1, -1).Value = Target.Value
    End If
End If
End Sub

Code ok rồi, nhưng khi em bôi đen tròng vùng cột B từ 2 ô trở lên e nhấn Nút Delete để xóa dữ liệu thì nó báo lỗi
Anh có cách nào Dim theo hàng được không ? chứ Target em thấy không ổn vì bảng tính đó em còn dùng nhiều code copy, select, lọc trên cột B
 
Upvote 0
Sửa đoạn code lại thế này nhé.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B1:B1000]) Is Nothing Then ' neu thuc thi trong vung
    If Target.Offset(1, -1).Value = "" Then ' neu o A1 trong thi ap dung con nguoc lai khong ap dung
        Target.Offset(1, -1).Value = Target.Value
    End If
End If
End Sub

Em làm được rồi anh, dù sao cảm ơn anh

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
i =
Target.Row
If Not Intersect(Target, [B1:B1000]) Is Nothing Then ' neu thuc thi trong vung
If Range("a" & i + 1).Value = "" Then ' neu o A1 trong thi ap dung con nguoc lai khong ap dung
Range("a" & i + 1).Value = Range("b" & i).Value
End If
End If
End Sub
 
Upvote 0
Em làm cái code đơn giản tn thui ;;;;;;;;;;;
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)    If Target.Column = 2 Then
        Target.Offset(1, -1).Value = Target.Value
    End If
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom