Đưa con trỏ về ô cần đến tại yêu cầu

Liên hệ QC

phihndhsp

Thành viên gạo cội
Tham gia
26/12/09
Bài viết
3,363
Được thích
2,488
Giới tính
Nam
Nghề nghiệp
Giáo Viên
tôi có 1 vấn đề như sau. tôi có hàng số điện thoại, trong đó có định dạng có điều kiện( dùng để biết những số nào đã nhập rồi) nếu số nào trùng thì tôi sẽ xóa dữ liệu đồng thời con trỏ sẽ về ô chứa dữ liệu trùng đó, xin chân thành cảm ơn.
tôi có kèm theo file mẫu
 

File đính kèm

tôi có 1 vấn đề như sau. tôi có hàng số điện thoại, trong đó có định dạng có điều kiện( dùng để biết những số nào đã nhập rồi) nếu số nào trùng thì tôi sẽ xóa dữ liệu đồng thời con trỏ sẽ về ô chứa dữ liệu trùng đó, xin chân thành cảm ơn.
tôi có kèm theo file mẫu
Bạn copy đoạn code này bỏ vào sheet rồi thử xem.
PHP:
Dim Temp As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 And Target.Count = 1 Then Temp = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And Target.Count = 1 And Target.Value = "" Then _
    [A3:A65536].Find(What:=Temp, LookAt:=xlWhole).Activate
End Sub
 
tôi có 1 vấn đề như sau. tôi có hàng số điện thoại, trong đó có định dạng có điều kiện( dùng để biết những số nào đã nhập rồi) nếu số nào trùng thì tôi sẽ xóa dữ liệu đồng thời con trỏ sẽ về ô chứa dữ liệu trùng đó, xin chân thành cảm ơn.
tôi có kèm theo file mẫu
Vấn đề này có lẽ chỉ giải quyết được bằng code. Mình đề xuất ý tưởng sau:
1. Khai báo 1 biến toàn cục GiaTri
2. Mỗi lần chọn 1 ô trong cột A thì giá trị của ô này được gán cho biến GiaTri
3. Nếu xóa ô này thì sẽ tìm GiaTri trong cột A, nếu có thì chọn ô tìm được.
Code như sau:
PHP:
Dim GiaTri
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then GiaTri = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cll As Range
    If Target <> "" Then Exit Sub
    Set Cll = Range([A3], [A65536].End(xlUp)).Find(GiaTri)
    If Not Cll Is Nothing Then Cll.Select
End Sub

Mình đang thắc mắc tại sao bạn không dùng Validation để kiểm soát việc nhập trùng, hễ nhập trùng thì yêu cầu nhập lại. Cách sử dụng CF để báo trùng như vầy sẽ khiến file rất nặng.
 

File đính kèm

Bạn copy đoạn code này bỏ vào sheet rồi thử xem.
PHP:
Dim Temp As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 And Target.Count = 1 Then Temp = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And Target.Count = 1 And Target.Value = "" Then _
    [A3:A65536].Find(What:=Temp, LookAt:=xlWhole).Activate
End Sub
cảm ơn Huuthang_bd tôi test thấy rất đúng để tôi test thêm một số trường hợp nữa xem sao, xin cảm ơn
 
Web KT

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

Back
Top Bottom