sửa target cố định "target(1,2) " thành địa chỉ động (1 người xem)

Liên hệ QC

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

trongdungs

Thành viên hoạt động
Tham gia
19/5/09
Bài viết
147
Được thích
13
Nghề nghiệp
sinh vien
em tìm được code này:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("k7")) Is Nothing Then
If Target(1, 2).Value <> "" Then
vbans = MsgBox("Da co lieu roi bo. Bo co muon chep de len ko?", vbOKCancel + vbDefaultButton1)
If vbans = vbOK Then
With Target(1, 2)
.Value = Date
.EntireColumn.AutoFit
End With
End If
Else
With Target(1, 2)
.Value = Date
.EntireColumn.AutoFit
End With
End If
End If
End Sub

Em muốn sửa Target(1, 2) thành cell $J$17 và khi chèn thêm dòng vào phía trên j17 thì target j17 cũng thay đổi theo. Thứ 2 là kết quả của code là ngày vd: 31/10/2015, nếu muốn thêm chữ ngày vào trước 31/10/2015 để ra kết quả là "ngày 31/10/2015" thì làm thế nào ạ!

cám ơn các thầy!
 
em tìm được code này:
..................................
Em muốn sửa Target(1, 2) thành cell $J$17 và khi chèn thêm dòng vào phía trên j17 thì target j17 cũng thay đổi theo. Thứ 2 là kết quả của code là ngày vd: 31/10/2015, nếu muốn thêm chữ ngày vào trước 31/10/2015 để ra kết quả là "ngày 31/10/2015" thì làm thế nào ạ!

cám ơn các thầy!
Ý thứ nhất hơi khó hiểu, bạn có dấu hiệu gì để nhận ra cái ô J17 đó được thay đổi bằng địa chỉ mới sau khi chèn hoặc xóa dòng?
Còn ý thứ hai thì dễ, chỉ cần thay Date bởi Format(Date,"Ngày dd/MM/yyyy") là được.
 
Upvote 0
Ý thứ nhất hơi khó hiểu, bạn có dấu hiệu gì để nhận ra cái ô J17 đó được thay đổi bằng địa chỉ mới sau khi chèn hoặc xóa dòng?
Còn ý thứ hai thì dễ, chỉ cần thay Date bởi Format(Date,"Ngày dd/MM/yyyy") là được.


vd ô hiện tại là j17, khi chèn thêm 2 dòng lên trên sẽ thành j19, chèn 3 dòng thì thành j20,...
 
Upvote 0
Bạn cần biết đặc điểm của ô bạn muốn set target là gì, qua đó dùng code mà xác định.
Không nên làm theo kiểu bị động chèn bao nhiêu thì nhảy bấy nhiêu.

Hơn nữa bạn không có ví dụ mẫu thì không thể biết bạn sai chính xác ở đâu hay tư vấn cụ thể cho bạn được.
 
Upvote 0
Bạn cần biết đặc điểm của ô bạn muốn set target là gì, qua đó dùng code mà xác định.
Không nên làm theo kiểu bị động chèn bao nhiêu thì nhảy bấy nhiêu.

Hơn nữa bạn không có ví dụ mẫu thì không thể biết bạn sai chính xác ở đâu hay tư vấn cụ thể cho bạn được.

file mẫu đây, bác xem giùm.
 

File đính kèm

Upvote 0
Bạn bắt sự kiện change của Worksheet dựa trên cột B và kiểm tra giá trị ngang hàng Target.

Vậy bạn hãy tìm hiểu Target.Offset(row,col) nhé.
 
Upvote 0
Upvote 0
Web KT

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

Back
Top Bottom