Xóa Dòng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ngodany135

Thành viên thường trực
Tham gia
1/12/10
Bài viết
346
Được thích
522
Nghề nghiệp
GIÁO VIÊN
Cho em hỏi VBA có thể làm được vấn đề này không ạh. File đính kèm. Chân thành cảm ơn các sư phụ trước.-\\/.
 
Là sao hé thầy, thầy hướng dẫn dùm em.
 
Là sao hé thầy, thầy hướng dẫn dùm em.
Lọc nó rồi chọn Chữ "N" rồi xóa chứ gì đâu tại trong file bạn đưa lên không có dòng tiêu đề nên khi lộc không thấy chữ N đặt tên dòng tiêu để là ok, Nếu muốn code thì dùng vòng lập duyệt qua Côt C ô nào có chữ N thì xóa dòng đó vậy
 
Lọc nó rồi chọn Chữ "N" rồi xóa chứ gì đâu tại trong file bạn đưa lên không có dòng tiêu đề nên khi lộc không thấy chữ N đặt tên dòng tiêu để là ok, Nếu muốn code thì dùng vòng lập duyệt qua Côt C ô nào có chữ N thì xóa dòng đó vậy

Ah. Bạn dùng code cho mình xem nha bạn nmhung49.
 
Lần chỉnh sửa cuối:
Ý mình là như vầy nha các bạn.
 
Mình gửi bạn code xoá bằng vòng lập và dùng code autofilter để xoá bạn thích cái nào dùng cái đó
PHP:
Sub xoan()
Dim li As Long, clls As Range
For Each clls In [c7:c9]
If clls.Text = "N" Then Rows(clls.Row).EntireRow.Delete
Next
End Sub
Dùng filler
PHP:
Sub xoafilter()
Application.DisplayAlerts = False
With [b7].CurrentRegion
    .AutoFilter
    .AutoFilter 2, "N"
    .Offset(1).Resize().Delete
    .AutoFilter
End With
Application.DisplayAlerts = True
End Sub
 

File đính kèm

Cảm ơn thầy nhiều, Dạ cho em hỏi thêm. Tại cột C có 2 lựa chọn (X,N). Ví dụ như khi chọn N (C7) thì xoá 1 ô B7. Tương tự vậy khi chọn các ô khác cũng thế.
Hình như em đặt tiêu đề bị sai, xoá ô chứ không phải xoá dòng
 
Cảm ơn thầy nhiều, Dạ cho em hỏi thêm. Tại cột C có 2 lựa chọn (X,N). Ví dụ như khi chọn N (C7) thì xoá 1 ô B7. Tương tự vậy khi chọn các ô khác cũng thế.
Hình như em đặt tiêu đề bị sai, xoá ô chứ không phải xoá dòng
Vậy cho mình hỏi xoá dữ liệu trong ô hay là xoá nguyên ô đó luôn vậy
 
Lúc đầu em hỏi không rõ ràng. Thông cảm nha. Xoá dữ liệu ô đó thôi bạn. Cảm ơn các bạn nhiều
 
Mình gửi bạn code xoá bằng vòng lập và dùng code autofilter để xoá bạn thích cái nào dùng cái đó
PHP:
Sub xoan()
Dim li As Long, clls As Range
For Each clls In [c7:c9]
If clls.Text = "N" Then Rows(clls.Row).EntireRow.Delete
Next
End Sub
]

Xoá từng dòng phải xoá từ dưới lên Hùng ơi! Xoá từ trên xuống nó nhảy cóc nhảy nhái, xoá sót à. Thử với 2 dòng liền nhau đều "N" thử xem, nó chỉ xoá 1.
 
Lúc đầu em hỏi không rõ ràng. Thông cảm nha. Xoá dữ liệu ô đó thôi bạn. Cảm ơn các bạn nhiều
Vậy bạn đặt sự kiện này vô sheet1 là được
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Range("c7:C9"), Target).Value = "N" Then Target.Offset(, -1).ClearContents
End Sub
 
Vậy bạn đặt sự kiện này vô sheet1 là được
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Range("c7:C9"), Target).Value = "N" Then Target.Offset(, -1).ClearContents
End Sub
Mấy cái code Worksheet_Change xem bộ hơi nguy hiểm ---> Lỡ chọn nhầm 1 cái là nó xóa mất tiêu (chẳng biết lúc nãy là tên gì nữa)
Theo tôi thì cứ nhập liệu bình thường, đến cuối cùng ta AutoFilter bằng tay, hoặc dùng code xóa 1 lần sẽ tiện hơn
 
Mấy cái code Worksheet_Change xem bộ hơi nguy hiểm ---> Lỡ chọn nhầm 1 cái là nó xóa mất tiêu (chẳng biết lúc nãy là tên gì nữa)
Theo tôi thì cứ nhập liệu bình thường, đến cuối cùng ta AutoFilter bằng tay, hoặc dùng code xóa 1 lần sẽ tiện hơn

Đúng là nguy hiểm thật. Các bác giúp dùm. Cảm ơn trước nha
 
Đúng là nguy hiểm thật. Các bác giúp dùm. Cảm ơn trước nha
Tôi thấy nó đâu có gì phức tạp chứ
Xem hình dưới đây:

untitled.JPG

Tôi giả sử rằng đây là dữ liệu bạn đã nhập hoàn tất. Giờ nếu muốn xóa dữ liệu ở cột B mà tương ứng ở cột C là "N". Ta làm như sau

[video=youtube;cD4Nty-QZ5Q]http://www.youtube.com/watch?v=cD4Nty-QZ5Q[/video]
 
Đúng là nguy hiểm thật. Các bác giúp dùm. Cảm ơn trước nha
Đa Ny sửa code trong file trên (Bài #7) của tôi thành như vầy xem có được không. Xóa luôn Chữ N trong cột C luôn đi, để chữ N lại coi không đẹp.
Private Sub CommandButton1_Click()
Dim nN As Double, Ii As Double
nN = Range("B100").End(xlUp).Row
For Ii = nN To 7 Step -1
If Range("C" & Ii).Value = "N" Then
Range("B" & Ii & ":C" & Ii).ClearContents
End If
Next
End Sub
 
Lần chỉnh sửa cuối:
Hihi. Em định làm như vậy cho tiện, nếu không được thì phải đành chịu thôi, Hoặc làm theo cách Format/Conditional Formatting (mà trắng) vậy, tiếc là ô đó còn dữ liệu. Cảm ơn tất cả các thầy và các bạn.
 
Web KT

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

Back
Top Bottom