VBA Tools

Usunięcie wierszy tabel w Word z warunkami

napisane przez Oskar w dniu piątek, 2 Grudzień, 2011, w kategorii 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.

Podziel się ze znajomymi:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Blip
  • Grono
  • Gwar
  • Kciuk.pl
  • LinkedIn
  • MySpace
  • OSnews.pl
  • Śledzik
  • Spis.pl
  • Technorati
  • Twitter
  • Vala.pl
  • Wahacz.pl
  • Wykop

Wpisz swój komentarz:

Comment Spam Protection by WP-SpamFree