Xin cao nhân chỉ giáo "hiện thông báo khi không tìm thấy giá trị"

Liên hệ QC

maytinhsieudang

Thành viên mới
Tham gia
9/10/15
Bài viết
14
Được thích
0
Mình cần hiện thông báo cho biến i và j khi không tìm thấy giá trị. Mình đang lay hoay không biết dùng hàm nào mong các cao nhân chỉ giáo. Mình có đính kèm file ở dưới.
1651288155811.png
 

File đính kèm

  • Bao Cao.xlsm
    79.4 KB · Đọc: 7
Bạn cần chân phương như vầy:
PHP:
Sub AnChi()
'Khai Báo Biên  '
 Dim I As Long, J As Long, A As Long, DCs1 As Long, DCs2 As Long
 Dim tieude1 As String, tieude2 As String, tieude3 As String
 Dim sRng As Range
        'Set Bien   '
 tieude1 = Sheet3.Range("D1").Value
 tieude2 = Sheet3.Range("D2").Value
 tieude3 = Sheet3.Range("D3").Value
 Sheet2.Rows.Clear
 DCs1 = Sheet1.Range("J" & Rows.Count).End(xlUp).Row
 I = Application.InputBox("Nhâp SHD Dâu Tiên", "Thông Báo", , , , , , 1)
 Set sRng = Sheet1.Range("J1:J" & DCs1).Find(I, , xlFormulas, xlWhole)
 If sRng Is Nothing Then
    MsgBox "Nothing"
 Else
    MsgBox sRng.Row
 End If
' . . . . . '
 

File đính kèm

  • C0430.jpg
    C0430.jpg
    63 KB · Đọc: 4
Upvote 0
Bạn cần chân phương như vầy:
PHP:
Sub AnChi()
'Khai Báo Biên  '
 Dim I As Long, J As Long, A As Long, DCs1 As Long, DCs2 As Long
 Dim tieude1 As String, tieude2 As String, tieude3 As String
 Dim sRng As Range
        'Set Bien   '
 tieude1 = Sheet3.Range("D1").Value
 tieude2 = Sheet3.Range("D2").Value
 tieude3 = Sheet3.Range("D3").Value
 Sheet2.Rows.Clear
 DCs1 = Sheet1.Range("J" & Rows.Count).End(xlUp).Row
 I = Application.InputBox("Nhâp SHD Dâu Tiên", "Thông Báo", , , , , , 1)
 Set sRng = Sheet1.Range("J1:J" & DCs1).Find(I, , xlFormulas, xlWhole)
 If sRng Is Nothing Then
    MsgBox "Nothing"
 Else
    MsgBox sRng.Row
 End If
' . . . . . '
Chỉ có biến đối tượng mới dùng được câu lệnh If sRng Is Nothing thui hả bạn. còn như biến giá trị i trong file cũ là ko dùng được à.
xlFormulas, xlWhole) dùng để làm gì zậy bạn
 
Upvote 0
Bạn cần chân phương như vầy:
PHP:
Sub AnChi()
'Khai Báo Biên  '
 Dim I As Long, J As Long, A As Long, DCs1 As Long, DCs2 As Long
 Dim tieude1 As String, tieude2 As String, tieude3 As String
 Dim sRng As Range
        'Set Bien   '
 tieude1 = Sheet3.Range("D1").Value
 tieude2 = Sheet3.Range("D2").Value
 tieude3 = Sheet3.Range("D3").Value
 Sheet2.Rows.Clear
 DCs1 = Sheet1.Range("J" & Rows.Count).End(xlUp).Row
 I = Application.InputBox("Nhâp SHD Dâu Tiên", "Thông Báo", , , , , , 1)
 Set sRng = Sheet1.Range("J1:J" & DCs1).Find(I, , xlFormulas, xlWhole)
 If sRng Is Nothing Then
    MsgBox "Nothing"
 Else
    MsgBox sRng.Row
 End If
' . . . . . '
1651336712385.png
Thêm câu lệnh dô thấy nó báo lỗi bạn ơi. Nếu bỏ xlFormulas, xlWhole) thì nó chạy được. Mà cho mình hỏi luôn là nếu nó không tìm thấy giá trị thì nó hiện lên thông báo "không tìm thấy" và quay lại ô nhập biến i để nhập lại giá trị cho đúng còn nếu đúng thì nó trả về số dòng của giá trị mới vừa nhập đó. Cái của bạn là:
Else
MsgBox sRng.Row
thì nó hiện thông báo số dòng chứ không phải là trả về số dòng cho biến i để gán giá trị vòng lặp cho biến a (a = i to j ). Nếu mình xóa Msgbox chỉ còn sRng.Row thì nó báo lỗi. Mong bạn giúp đỡ !
 
Upvote 0
(2) Chỉ có biến đối tượng mới dùng được câu lệnh If sRng Is Nothing thui hả bạn. còn như biến giá trị i trong file cũ là ko dùng được à.
(1) xlFormulas, xlWhole) dùng để làm gì zậy bạn
(1) xlWhole là hằng số ấn định công tác tìm kiếm nguyên từ hay nguyên toàn bộ nhóm số
Ngược lại là hằng xlPart: tìm 1 phần (Ví dụ tìm tất cả mọi người có họ là 'Ng' Kết quả sẽ là Ngô, Ngụy, Nguyễn,. . . . )
xlFormulas là tìm trong công thức, xlValues tìm trị; Nhưng trong 1 số trường hợp xài xlFormulas giúp ta tăng tốc xíu nào đó khi tìm trị

(2) Khi xài phương thức FIND là tìm ô trong vùng (tìm kiếm) có chứa trị cần tìm
1 khi tìm thấy ta sẽ biết ô (được tìm ra) ở cột nào, hàng nào, trị nó là gì. . . .
Ta có thể tìm thấy tất cả những người có họ 'Nguyễn' trong CQ,. . . .

MsgBox sRng.Row
thì nó hiện thông báo số dòng chứ không phải là trả về số dòng cho biến i để gán giá trị vòng lặp cho biến a (a = i to j ). Nếu mình xóa Msgbox chỉ còn sRng.Row thì nó báo lỗi.
Bạn đọc thêm (2) 1 lần nữa!

Khi nào rỗi bạn tham khảo thêm trong file:
 

File đính kèm

  • Form.rar
    24.1 KB · Đọc: 4
Lần chỉnh sửa cuối:
Upvote 0
Mình cao 1 thước 65 (sai số +0 -3) nên chỉ đến đó thôi; Phần còn lại nhờ cao thủ đi vậy!
:D :D :D
 

File đính kèm

  • C0502.jpg
    C0502.jpg
    59.5 KB · Đọc: 1
Lần chỉnh sửa cuối:
Upvote 0
Mình cao 1 thước 65 (sai số +0 -3) nên chỉ đến đó thôi; Phần còn lại nhờ cao thủ đi vậy!

165 trừ đầu cổ đi là 140cm.
Người bình thường cánh tay chỉ thuận lợi tối đa góc 45 . Đứng cách cây giáo 3 mét thì tối đa có thể chỉ lên đầu giáo cao 300+140 = 440cm
Cao thủ chắc tay chĩa thẳng lên trời. Vậy thì có thể chỉ được cây giáo mà mắt thường không thấy.
 
Upvote 0
Web KT

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

Back
Top Bottom