Hỏi về lỗi trong tìm kiếm giá trị trùng

  • Thread starter TinhLaJ
  • Ngày gửi
T

TinhLaJ

Guest
5/3/09
6
0
0
VN
Nhờ các bạn kiểm tra hộ mình lỗi trong code dưới đây
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Dim sRng As Range
Dim sDate As Range
Dim sTime As Range
Dim i As Integer
Dim f As Boolean

Set Rng = Columns("D:E")

If Not Intersect(Target, Rng) Is Nothing Then
Set sDate = Cells(Target.Row, 2)
Set sTime = Cells(Target.Row, 3)
i = Target.Row
f = False
Do While Cells(i, 2).Value = sDate.Value And f = False
If Cells(i, 3).Value = sTime.Value Then
Set sRng = Intersect(Rows(i), Rng).Find(Target.Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
Target.Value = ""
f = True
End If
i = i - 1
End If
Loop
End If
End Sub
Khi mình gõ tên cán bộ thì chương trình tự động xóa ô mình nhập, dù nó có trùng với tên cán bộ đã nhập hay không? Lỗi này do mình bắt đầu tìm kiếm từ hàng vừa nhập
(i = Target.Row) mà mình không xét điều kiện Địa chỉ ô tìm thấy bị trùng phải khác địa chỉ ô vừa nhập.
Nhưng nếu mình thêm điều kiện khác địa chỉ:
Thay
If Not sRng Is Nothing Then
thành
If Not sRng Is Nothing And sRng.Address <> Target.Address Then
thì chương trình báo lỗi tại dòng này;
Hoặc mình bắt đầu tìm kiếm ở hàng trên hàng vừa nhập:
Thay
thành
i = Target.Row - 1
thì chương trình treo

File Excel các bạn tải ở đây (ko biết sao ko gửi file đính kèm được)
http://www.mediafire.com/download.php?idm0ynmotk0

Mong các bạn trả lời giúp mình vấn đề này.
Cám ơn!
 
Sửa lần cuối:
Khóa học Quản trị dòng tiền
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Bài toán của bạn không có nhiều í ngĩa trong thực tiển!

Quả tình nói vậy, vì mỗi đợt thi chỉ có số môn thi hữu hạn, không quá chục; số phòng thi cũng không nhiều; Mình nghỉ rằng xếp bằng tay sẽ cũng đạt yêu cầu;

Nếu đây là bài toàn với hàng ngàn giáo viên coi thi thì có lý; chứ 100 đổ lại, bạn cứ sort tên giáo viên & cho vô lần lượt;
Nếu cần tránh giáo viên bộ môn nào coi thi bô môn đó thì đưa tiêu chí này vô & sort . . . OK?!

Mình nghỉ không phải không viết được theo iêu cầu của bạn; nhưng nó giống như dùng dao cạo râu hay dao phẩu thuật đem cắt tiết gà!
 
T

TinhLaJ

Guest
5/3/09
6
0
0
VN
Như bạn nói thì chương trình giải phương trình bậc hai = Pascal mà người mới làm quen Pascal vẫn làm là thừa ah?

Mình hỏi lỗi của code trên là ở đâu, chứ ko hỏi bài toán có thực tế hay ko (!)
 

Xem nhiều

Webketoan Zalo OA