0905744404
Thành viên thường trực




- Tham gia
- 26/10/10
- Bài viết
- 333
- Được thích
- 107
- Nghề nghiệp
- Trước là : Thủ Kho - còn giờ thì :"Tài Xế"
Cám ơn bạn!Bạn xem thử file đúng ý bạn không nhé
Bạn sửa thêm dòng vào đoạn code của anh @viehoai xem sao nhé:Cám ơn bạn!
Đúng la như vậy rồi nhưng VBA bạn viết đang bị lỗi gì đó
Mình chạy rồi nhưng báo lỗi.
Nhờ bạn sửa lại cho chạy được luôn nha
Tại mình không biết gì VBA hết
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column <> 3 Or Target.Count > 1 Or Target.Value = "" Then Exit Sub
If Target.Offset(1).Value = "" Then
Target.Offset(1).EntireRow.Insert
End If
End Sub
Em có gửi file đính kèm mong các anh chị giúp đơ em vơi
Có thể viết Code VBA cũng được
Thầy ơi, nhưng em có câu lệnh If Target.Count > 1 Then Exit Sub rồi mà Thầy (có thể Thầy giải thích rõ hơn tí nữa không?)Theo mình, dùng sự kiện Worksheet_Change nên xem xét dùng kèm câu lệnh Application.EnableEvents. Lỗi xảy ra do lệnh chèn dòng kích hoạt sự kiện Worksheet_Change một lần nữa. Lúc bấy giờ Target trở thành 1 dòng nên VBA không thể tính được Target.value.
Câu lệnh trên có đến 3 điều kiện. Khi sự kiện Worksheet_Change bị kích hoạt không mong muốn do chèn dòng, câu lệnh này được thực thi một lần nữa. Lúc bấy giờ Target không còn là 1 ô mà trở thành 1 dòng. Target.column =1 vì VBA lấy trị số cột đầu tiên,Target.count = 256 vì theo số cột trong excel 2003, còn Target.value =???? tính không ra, nên xảy ra lỗi. Lệnh Exit sub không có tác dụng gì vì nó xảy ra sau lỗi.If Target.Column <> 3 Or Target.Count > 1 Or Target.Value = "" Then Exit Sub
code này minh test rồi hay đấy. nhưng nếu tự động ẩn dòng khi gia trị là không thì tốt hơn.vì nó cứ thêm dòng hoài mệt quá (nên để mặc đinh là 3-4 dòng thôi) khi nhập đến dòng thứ 4 thì lại thêm một dòng...
Dùng bài anh Hai Lúa Miền Tây để hướng dẫnBác Hai Lúa Miền Tây có thể hướng dẫn em tạo list kiểu bác được không ạ? em tìm tài liệu để xem mà không thấy.