VBATools

Usunięcie wierszy tabel w Word z warunkami

by 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.
:, , ,

Leave a Reply