Usunięcie wierszy tabel w Word z warunkami
by vbatools on Dec.02, 2011, under Porady, Word
Jeden z forumowiczów ExcelForum zwrócił się z prośbą o przygotowanie kodu polegającego na usunięciu z całego dokumentu (wszystkich tabel), wierszy tych tabel, w przypadku kiedy w pierwszej kolumnie tabeli nie będzie istotnych słów.
Słowami tymi są “Kupił” oraz “Faktura”
Oto szkielet kodu:
Sub Usuniecie_nie_kupil() 'MVP OShon from VBATools.pl Dim x&, y&, rng As Range Application.ScreenUpdating = False With ActiveDocument For x = 1 To .Tables.Count With .Tables(x) For y = .Range.Rows.Count To 1 Step -1 .Cell(y, 1).Select Set rng = Selection.Range If LCase(Mid(rng.Text, 1, Len(rng.Text) - 2)) = "kupił" Or _ LCase(Mid(rng.Text, 1, Len(rng.Text) - 2)) = "faktura" Then 'jeśli słowa faktura i kupił są częścią opisu w komórce 'If LCase(Mid(rng.Text, 1, Len(rng.Text) - 2)) Like "*kupił*" Or _ LCase(Mid(rng.Text, 1, Len(rng.Text) - 2)) Like "*faktura*" Then Else rng.Rows.Delete End If Set rng = Nothing Next y End With Next x End With Application.ScreenUpdating = True End Sub
Przy takich operacjach należy pamiętać iż ważne jest przygotowanie kopii zapasowej edytowanego dokumentu.
(c) Shon Oskar – www.VBATools.pl
Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.