Hỏi cách Chọn dữ liệu từ form vào danh sách đã Filter

Liên hệ QC

Tường_Vi

Thành viên tiêu biểu
Tham gia
19/4/10
Bài viết
482
Được thích
121
Nghề nghiệp
Luôn tìm kiếm một vị trí tốt hơn
Em có một danh sách Ví dụ từ A1 đến A10
tại cột A dữ liệu nhập chỉ thuộc từ A1 đến A10. Trong trường hợp dữ liệu nhập khác A1 đến A10 (ví dụ gõ B2)
Sẽ có một form xuất hiện, trên form này có một combox cho phép chọn từ A1 đến A10
Em có code như sau
Tại sheet
PHP:
If Target <> "" Then
                    With Sheets("P.I.C").Range(Sheets("P.I.C").[A3], Sheets("P.I.C").[A65500].End(xlUp))
                    Set Rng = .Find(what:=UCase$(Target), LookIn:=xlFormulas, lookat:=xlWhole)
                    If Rng Is Nothing Then
                    Method_Form.Show
                    Else: Exit Sub
  End If
                   
                    End With

Tại form

PHP:
Private Sub PMOK_Click()
Activecell.select 
Activecell(-1,0).select 
Activecell.value = Me.Performlist.value

            With Sheets("P.I.C").Range(Sheets("P.I.C").[A3], Sheets("P.I.C").[A65500].End(xlUp))
            Set Rng = .Find(what:=Me.method_list.Value, LookIn:=xlFormulas, lookat:=xlWhole)
            If Rng Is Nothing Then
            MsgBox "Pls select method in dropdown list"
            ActiveCell.ClearContents
            End If
           
            End With

Unload Me
End Sub
Code này chỉ đúng nếu không filter nhưng do danh sách của em thường hay Filter nên đoạn code dưới này này bị sai
do sau khi ta nhấn Enter từ Activecell lùi lại 1 ô chưa chắc đã phải là ô target mà ta gõ vào do filter
Ví dụ:
Sau khi filter chỉ có Row 1, 5
Ta nhập dữ liệu vào Cell A1 là B bị sai nên có form hiện ra
Sau khi Enter active cell sẽ nằm tại A5
Do đoạn code dưới nên giá trị sẽ bị áp vào ô A4

PHP:
Activecell.select 
Activecell(-1,0).select 
Activecell.value = Me.Performlist.value
Anh chị giúp em cách chọn dữ liệu từ form vào một danh sách với, em chưa nghĩ ra được ạh

Cám ơn Anh Chị nhiều
 
Lần chỉnh sửa cuối:
Em xin gửi ví dụ minh họa lên. Trong file tạm thời đã có
- Dữ liệu tại ô M3
- Ta Filter cột M
- Ta M2 ta nhập dữ liệu bất kỳ ví dụ: A
Vì A không có trong list lên sẽ có form xuất hiện
Lúc này Active Cell đang nằm tại M4 ( sau khi Enter Cell chạy từ M2 xuống M4 và do M3 bị ẩn sau khi filter)

Lúc này ta chọn list và nhấn Ok thì Giá trị từ Form sẽ nhẩy vào ô M3 (mặc dù ô mong muốn là M2)

Xin các Anh Chị Cao thủ chỉ giúp em làm sao ta có thể chọn giá trị từ form vào ô M2 sau khi dữ liệu nhập vào bị sai

Xin cám ơn
 
Upvote 0
Bạn xem file đính kèm xem đã đúng ý chưa. Mình bổ sung thêm 1 số tính năng nhỏ xíu nữa. Bạn tự nghiên cứu thêm nhé!
Còn mấy cái râu ria mình xóa hết rồi (đại khái như những thao tác select cell)
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn xem file đính kèm xem đã đúng ý chưa. Mình bổ sung thêm 1 số tính năng nhỏ xíu nữa. Bạn tự nghiên cứu thêm nhé!
Còn mấy cái râu ria mình xóa hết rồi (đại khái như những thao tác select cell)

Mấu chốt bài này ở chỗ target.select anh nhỉ?

Cám ơn Anh "Bafi" nhiều nhé - (gọi yêu tí), nhờ có anh mà em đã giải quyết được vấn đề hóc búa của em


Anh CF ơi
em hỏi chút target.select đặt sau câu "If not intersect" được không?
------------------------------------------------------------------------------------------------------------------------------
Em vừa kiểm tra thì thấy ok, vì em chỉ muốn target.select hoạt động trong vùng nhất định
Cám ơn Anh
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT

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

Back
Top Bottom