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

Recently Active Members

Profile picture of vbatools
Profile picture of Karol Stilger
Profile picture of Joanna Subik
Profile picture of Anorak
Profile picture of marcinmachalowski
Profile picture of programistaaccess
Profile picture of piotrpawlik
Profile picture of Emil Wasilewski
Profile picture of kicekpicek
Profile picture of coldfusion
Profile picture of Gosia Borzęcka
Profile picture of lukaszch
Profile picture of itadministracja
Profile picture of farbenia
Profile picture of Łukasz Kałużny
Profile picture of kabzinski
Profile picture of rtynski
Profile picture of leszekbetlinski
Profile picture of Iv
Profile picture of Justyna Spychała