Xóa file theo điều kiện

Liên hệ QC

quick87

(/ội...
Tham gia
8/4/08
Bài viết
371
Được thích
351
Giới tính
Nam
Kính gửi: các Thầy, các anh chị.
Em muốn xóa các file theo điều kiện cho trước như hình đính kèm:

Những file em muốn xóa các file em có đánh chữ " x ", liệu VBA có thể làm được không ạ ?

Em gửi file đính kèm.
Mong các Thầy và các anh chị giúp đỡ ạ.

Em xin chân thành cảm ơn!
 

File đính kèm

  • XOA FILE THEO DIEU KIEN.xlsx
    9.1 KB · Đọc: 24
Thử code này xem có dùng được không.
[gpecode=vb]
Sub XoaFile()
Dim I As Long, Rng As Range
Set Rng = Range("A1:A" & Range("A65535").End(3).Row)
For I = 1 To Rng.Rows.Count
If Rng(I).Offset(, 3) = "x" Then
Kill Cells(I, 1).Value
End If
Next I
End Sub
[/gpecode]
 
Upvote 0
Thử code này xem có dùng được không.
[gpecode=vb]
Sub XoaFile()
Dim I As Long, Rng As Range
Set Rng = Range("A1:A" & Range("A65535").End(3).Row)
For I = 1 To Rng.Rows.Count
If Rng(I).Offset(, 3) = "x" Then
Kill Cells(I, 1).Value
End If
Next I
End Sub
[/gpecode]

Code chạy tốt anh ạ.
Chân thành cảm ơn anh thật nhiều !
 
Upvote 0
Thử code này xem có dùng được không.
[gpecode=vb]
Sub XoaFile()
Dim I As Long, Rng As Range
Set Rng = Range("A1:A" & Range("A65535").End(3).Row)
For I = 1 To Rng.Rows.Count
If Rng(I).Offset(, 3) = "x" Then
Kill Cells(I, 1).Value
End If
Next I
End Sub
[/gpecode]
Bạn hiền bữa nay nghiên cứu code dữ hén.
Code trên có thể viết lại thế này, gọn hơn được một chút:
[GPECODE=vb]Sub XoaFile()
Dim Rng As Range
For Each Rng In [A1].CurrentRegion.Resize(, 1)
If Rng.Offset(, 3) = "x" Then Kill Rng.Value
Next
End Sub[/GPECODE]
[A1].CurrentRegion.Resize(, 1) có thể thay bởi Intersect([A1].CurrentRegion, [A2:A10000]) hoặc cụ thể hơn thì thêm tên sheet vào trước địa chỉ ô nữa cho chắc.
 
Upvote 0
Bạn hiền bữa nay nghiên cứu code dữ hén.
Code trên có thể viết lại thế này, gọn hơn được một chút:
[GPECODE=vb]Sub XoaFile()
Dim Rng As Range
For Each Rng In [A1].CurrentRegion.Resize(, 1)
If Rng.Offset(, 3) = "x" Then Kill Rng.Value
Next
End Sub[/GPECODE]
[A1].CurrentRegion.Resize(, 1) có thể thay bởi Intersect([A1].CurrentRegion, [A2:A10000]) hoặc cụ thể hơn thì thêm tên sheet vào trước địa chỉ ô nữa cho chắc.
Đang tập mấy bài đơn giản, post lên để các Thầy sửa giúp.
Lúc nãy dùng Rng(i) mà lại dùng cells(i, 1), bạn hiền thấy mình củ chuối chưa, hic ...
Cho hỏi cái chỗ [A1].CurrentRegion.Resize(, 1), Phúc giải thích dùm được không, [A1].CurrentRegion là lấy dữ liệu cột A đúng không? Và dùng Resize(, 1) trường hợp này có ý nghĩa như thế nào?
-----------
Đã test thử và hiểu rồi. Thanks!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom