Xóa dòng bằng Macro trong bảng biểu của Word

Liên hệ QC

nxtcntt

Thành viên mới
Tham gia
17/1/14
Bài viết
10
Được thích
0
Em đang làm cái đồ án mà chưa biết phải làm thế nào.
Câu hỏi như sau: Sử dụng VBA viết macro để xóa các dòng trong bảng biểu của Word có chứa từ nào đó ( thích từ nào cũng đc ạ )
Y/c: Khi chạy macro đưa ra hộp thông báo cho phép nhập từ cần tìm vào trong đó. Những hàng trong bảng biểu của Word có chứa các từ đó sẽ được tìm và xóa.

Anh chị nào biết vào thảo luận cùng em ạ...
E chân thành cảm ơn
/-*+//-*+//-*+//-*+//-*+//-*+//-*+//-*+/
 
Xem file đính kèm. Trong đó có sẵn VBA xóa hàng của bảng. Nếu cố tình xóa hàng không trong bảng thì bị lỗi.

Do vội không làm bẫy lỗi đó
 

File đính kèm

  • XoaHang.doc
    49.5 KB · Đọc: 50
@haonlh Dạ cảm ởn bạn nhé--=0
 
Mod xóa dùm em bài trả lời này ạ
 

File đính kèm

  • XoaHang.doc
    53 KB · Đọc: 8
Lần chỉnh sửa cuối:
123

bạn có thể sửa dùm mình 1 số thứ mình đã ghi trong file ko ạ...
Nút Atl+D đó k xóa được bạn à
 

File đính kèm

  • XoaHang.doc
    53 KB · Đọc: 22
Lần chỉnh sửa cuối:
Tôi đã lấy file về và thử vẫn được. Không cần tìm ab mà chỉ cần
Chọn 1 điểm trên hàng cần xóa
trong bảng (như trong file là hàng đầu tiên của bảng), gõ Alt - D

Tôi trình bày tìm ab là 1 cách nhanh chóng tìm đến văn bản nào đó. Nếu thấy nó trong bảng thì xóa hàng chứa điểm nháy bằng gõ Alt - D.
 
@haonlh mình dùng bản 2007 chắc k chạy được.
 
Em đang làm cái đồ án mà chưa biết phải làm thế nào.
Câu hỏi như sau: Sử dụng VBA viết macro để xóa các dòng trong bảng biểu của Word có chứa từ nào đó ( thích từ nào cũng đc ạ )
Y/c: Khi chạy macro đưa ra hộp thông báo cho phép nhập từ cần tìm vào trong đó. Những hàng trong bảng biểu của Word có chứa các từ đó sẽ được tìm và xóa.

Anh chị nào biết vào thảo luận cùng em ạ...
E chân thành cảm ơn
/-*+//-*+//-*+//-*+//-*+//-*+//-*+//-*+/

Bạn muốn xóa toàn bộ các dòng trong mỗi Table khi mà ít nhất 1 ô trong dòng có chứa từ cho trước?
Nếu thế thì:

1. Alt + F11 --> chọn project của mình --> Insert --> Module --> dán code dưới đây vào

Mã:
Sub Xoa_Hang_Trong_Bang()
Dim TableObj As Table, RowObj As Row, text As String
    text = InputBox("Hay nhap tu can tim", "Tu can tim", "")
    If Len(text) > 0 Then
        For Each TableObj In ActiveDocument.Tables
            For Each RowObj In TableObj.Rows
                If RowObj.Range.Find.Execute(text[SIZE=4][COLOR=#ff0000], , True[/COLOR][/SIZE]) Then
                    RowObj.Delete
                End If
            Next
        Next
    End If
End Sub

2. Chọn Run để chạy Sub Xoa_Hang_Trong_Bang --> nhập từ

3. Code sẽ xóa tất cả các dòng trong tất cả các Table mà có chứa từ nhập vào. Vd. bạn nhập Hihi thì sẽ xóa các dòng có "Hihi", "hihi" nhưng không xóa dòng có vd. "hichicHihi" ("Hihi" chỉ là 1 phần của từ). Muốn xóa cả "Hihi", "hihi" và "hichichihi" thì xóa phần đỏ đỏ.
 
Bạn muốn xóa toàn bộ các dòng trong mỗi Table khi mà ít nhất 1 ô trong dòng có chứa từ cho trước?
Nếu thế thì:

1. Alt + F11 --> chọn project của mình --> Insert --> Module --> dán code dưới đây vào

Mã:
Sub Xoa_Hang_Trong_Bang()
Dim TableObj As Table, RowObj As Row, text As String
    text = InputBox("Hay nhap tu can tim", "Tu can tim", "")
    If Len(text) > 0 Then
        For Each TableObj In ActiveDocument.Tables
            For Each RowObj In TableObj.Rows
                If RowObj.Range.Find.Execute(text[SIZE=4][COLOR=#ff0000], , True[/COLOR][/SIZE]) Then
                    RowObj.Delete
                End If
            Next
        Next
    End If
End Sub

2. Chọn Run để chạy Sub Xoa_Hang_Trong_Bang --> nhập từ

3. Code sẽ xóa tất cả các dòng trong tất cả các Table mà có chứa từ nhập vào. Vd. bạn nhập Hihi thì sẽ xóa các dòng có "Hihi", "hihi" nhưng không xóa dòng có vd. "hichicHihi" ("Hihi" chỉ là 1 phần của từ). Muốn xóa cả "Hihi", "hihi" và "hichichihi" thì xóa phần đỏ đỏ.
Bác cho em hỏi, ví dụ em muốn thay điều kiện là tất cả các ô đầu tiên của bảng không chứa dữ liệu, hoặc chứa dữ liệu là 0 thì sẽ xóa dòng đó trong bảng thì sửa thế nào ạ?
 
Cần lắm không hay chỉ hỏi chơi thôi??
 
Web KT
Back
Top Bottom