Giúp em Code VBA copy dữ liệu sang Sheet mới.

Liên hệ QC

Duong_VBA

Thành viên chính thức
Tham gia
10/11/07
Bài viết
89
Được thích
26
Bài toán của em là: Lọc danh sách kết quả bầu cử theo điều kiện: những người có số phiếu bằng nhau và có số thự tự quá 17 thì Copy ra Sheet mới
Các bác xem File và giúp em với.
Xin cảm ơn!
 

File đính kèm

Macro của bạn đây

PHP:
Option Explicit
Sub LocDSach()
 Dim Rng As Range, sRng As Range, Clls As Range, cRng As Range
 Dim MyAdd As String, Dem As Byte, jJ As Byte
 
 Sheets("KQ").[A2].CurrentRegion.Offset(1).Clear
 Sheets("P").Select
 Set Rng = Range([F1], [F99].End(xlUp))
 For jJ = 1 To 17
   Set sRng = Rng.Find(jJ, , xlFormulas, xlWhole)
   If Not sRng Is Nothing Then
      MyAdd = sRng.Address
      Do
         Dem = Dem + 1
         If Dem = 17 Then Exit For
         Set sRng = Rng.FindNext(sRng)
      Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
   End If
 Next jJ
 If jJ = 17 Then
   sRng.EntireRow.Copy Destination:=Sheets("KQ").[A2]
 Else
   Set sRng = Rng.Find(jJ)
   If Not sRng Is Nothing Then
      MyAdd = sRng.Address
      Do
         sRng.EntireRow.Copy Destination:=Sheets("KQ").[A99].End(xlUp).Offset(1)
         Set sRng = Rng.FindNext(sRng)
      Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
   End If
 End If
End Sub


(Nếu có thắc mắc trong dịp lễ, nhờ các bạn khác giúp cho bạn í nha!)
 
Upvote 0
Bài toán của em là: Lọc danh sách kết quả bầu cử theo điều kiện: những người có số phiếu bằng nhau và có số thự tự quá 17 thì Copy ra Sheet mới
Các bác xem File và giúp em với.
Xin cảm ơn!
Cái này chắc cần phải hỏi lại cho rõ mới làm chính xác được:
- Giả sử có 5 người số STT > 17, trong đó 2 người có số phiếu bầu = 90 và 3 người có số phiếu bầu = 80 thi xử lý sao?
- Trong file của bạn, tại sheet KQ bạn đã lọc sẳn bằng tay, tôi thấy nó đâu có phù hợp yêu cầu! Nguyễn Công Chính là người có STT = 16, sao vẫn trích sang?
 
Upvote 0
Cảm ơn các bác.
Em sửa lại yêu cầu là: những người có số phiếu bằng nhau và xếp thứ (Chứ không phải STT) lớn hơn hoặc bằng 17 thì Copy ra Sheet mới
 
Upvote 0
Cảm ơn các bác.
Em sửa lại yêu cầu là: những người có số phiếu bằng nhau và xếp thứ (Chứ không phải STT) lớn hơn hoặc bằng 17 thì Copy ra Sheet mới
Sao bạn không trả lời luôn câu hỏi còn lại:
- Giả sử có 5 người có xếp thứ >= 17, trong đó 2 người có số phiếu = 90 và 3 người có số phiếu = 80 thi xử lý sao?
(Sheet KQ bạn lọc bằng tay hoàn toàn khác với những gì bạn mô tả)
 
Upvote 0
(Giả sử có 5 người có xếp thứ >= 17, trong đó 2 người có số phiếu = 90 và 3 người có số phiếu = 80 thi xử lý sao?)
+Trường hợp này sẽ chỉ lấy 2 người có số phiếu 90 (Vì lấy từ cao xuống thấp)
Cảm ơn bác!
 
Upvote 0
Web KT

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

Back
Top Bottom