Tìm kiếm địa chỉ range

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

hathanh349

Thành viên mới
Tham gia
3/5/19
Bài viết
31
Được thích
5
Nhờ các bác chỉ giúp. Tôi muốn tìm địa chỉ ô và dùng hàm như này

Sub Find_vitri()
Dim rng, RngKQ As Range
Dim Stuan As Byte 'Nhap so tuan can lay DL
Stuan = Application.InputBox(Prompt:="Hay nhap so", Type:=1)
Set rng = Sheet1.Range("C1:T1")
'-su dung find
Set RngKQ = rng.Find(What:=Stuan, LookIn:=xlValues, LookAt:=xlPart)

If RngKQ Is Nothing Then
'MsgBox "Find khong tim thay vi tri"
MsgBox "No"
Else
'-tim thay thi lam
MsgBox RngKQ.AddressLocal
End If

End Sub

Nhưng khi kết quả thì hiển thị không đúng như mong muốn. ví dụ nhập vào là 1 thì phải là hiển thị "No" nhưng đây vẫn hiện địa chỉ ô 19 "D1". Nhờ các bác giúp điều chỉnh sao hiển thị đúng như nhập. Thank..
 

File đính kèm

  • Find.xlsm
    14.5 KB · Đọc: 11
Sub Find_vitri()
Dim rng, RngKQ As Range: Dim Stuan As Byte 'Nhap so tuan can lay DL '

Stuan = Application.InputBox(Prompt:="Hay nhap so", Type:=1)
Set rng = Sheet1.Range("C1:T1")
'Su Dung Find '
4 Set RngKQ = rng.Find(What:=Stuan, LookIn:=xlValues, LookAt:=xlPart)
If RngKQ Is Nothing Then
'MsgBox "Find Không Tìm Thây Vi Trí " '
6 MsgBox "No"
Else
'Tìim Thây Thì Làm '
9 MsgBox RngKQ.AddressLocal
End If
End Sub
'Nhưng khi kết quả thì hiển thị (1) không đúng như mong muốn. ví dụ nhập vào là 1 thì phải là hiển thị "No" (2) nhưng đây vẫn hiện địa chỉ ô 19 "D1". Nhờ các bác giúp điều chỉnh sao hiển thị đúng như nhập. . . . '
(1) Muốn đúng như mong muốn (dòng lệnh 6) thì bạn cần thay tham số xlPart trong dòng lệnh mang số 4
(2) Vì trong ô [D1] có chứa trị là con số '1' tuy không tròn trĩnh kia mà! Đừng vội trách nó, mà hãy tự trách mình(!)
→ Chú í thêm: Bạn thử nhập: con số nào đó ≥36 thì chương trình vẫn phục vụ tốt cho bạn mà xem!
(3) Trường hợp của bạn trong vùng tìm không có trị nào trùng nhau;
Nếu có trị trùng trong chí ít 2 ô thì sẽ ra làm sao? & cách khắc phục chuyện này như thế nào, bạn biết không?

Thân ái & vui vẻ nha!
 
Upvote 0
(1) Muốn đúng như mong muốn (dòng lệnh 6) thì bạn cần thay tham số xlPart trong dòng lệnh mang số 4
(2) Vì trong ô [D1] có chứa trị là con số '1' tuy không tròn trĩnh kia mà! Đừng vội trách nó, mà hãy tự trách mình(!)
→ Chú í thêm: Bạn thử nhập: con số nào đó ≥36 thì chương trình vẫn phục vụ tốt cho bạn mà xem!
(3) Trường hợp của bạn trong vùng tìm không có trị nào trùng nhau;
Nếu có trị trùng trong chí ít 2 ô thì sẽ ra làm sao? & cách khắc phục chuyện này như thế nào, bạn biết không?

Thân ái & vui vẻ nha!
Cảm ơn bác đã trả lời và có những gợi ý thêm. Do không biết nên em mới hỏi. mong được bác hỗ trợ cụ thể hơn ah. cảm ơn bác trước
 
Upvote 0
@
Ngoài tham số xlPart, còn có tham số xlWhole
Bác xem hỗ trợ e trường hợp này:
Em có 1 form báo giá tạo Qrcode của khách hàng, em cần phải nhập dữ liệu của em vào form này rồi in để tạo file pdf có Qrdoce gửi họ.
Phần dữ liệu là gồm một số thông tin như tên hàng, kích thước, nguyên liệu...(kiểu dạng break down giá)
Bình thường báo giá một vài mã hàng thì ok có thể làm được. Tuy nhiên khi có yêu cầu costdown hoặc costup thì sẽ phải làm lại báo giá cho từng mã hàng một, số lượng mã có thể đến 2000~3000 tùy thời điểm nên rất mất thời gian.

Vậy mình có phương án nào để có thể làm tự động trong excel không ạ? Em cũng ko rành về lập trình hay VBA... nên xin được tư vấn hỗ trợ. Em cũng có post hỏi bên topic khác mà chắc các bác đều bận ít onl.

Em cảm ơn!
 
Upvote 0
Web KT

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

Back
Top Bottom