Word VBA delete regel die begint met een spatie

Status
Niet open voor verdere reacties.

Tweety1

Gebruiker
Lid geworden
6 mrt 2013
Berichten
637
Ik ben opzoek naar een Word VBA die de regels verwijderd waarvan de eerste karakter begint met een lege spatie
Onderstaande vba heb ik gevonden alleen kom ik er niet uit.


Code:
Sub DeleteRowWithSpecifiedText()
    Dim sText As String

    Selection.Find.ClearFormatting
    With Selection.Find
        '.Text = Char(255)
        .Text = " "
        .Wrap = wdFindContinue
    End With
    Do While Selection.Find.Execute
        If Selection.Information(wdWithInTable) Then
            Selection.Rows.Delete
        End If
    Loop
End Sub

mvg
Kasper
 
Laatst bewerkt:
Doe er eens een bestandje bij, want ik geloof graag dat deze macro niet werkt. Ben alleen niet van plan om zelf een voorbeeldje in elkaar te flansen :).
 
Hierbij 2 voorbeeld bestanden.
1 bestand hoe het er nu uit ziet en 1 bestand zoals het moet zijn.

De bedoeling is dat hij kijkt naar de eerste opgegeven karakter van de regel.
In dit geval gaat het om een spatie maar kan ook bijvoorbeeld een "." (punt) zijn.
 

Bijlagen

Heb nog een andere vba gevonden. Deze kijkt naar de eerste karakter.
Alleen lukt het me niet om de laatste regel aan te passen zodat de regel wordt verwijderd.


Code:
 Option Explicit

Sub replaceCellText()

    Dim rCount As Integer
    Dim i As Integer
    Dim tempStr As String

    rCount = ActiveDocument.Tables(1).Rows.Count

    For i = 1 To rCount
        tempStr = ActiveDocument.Tables(1).Cell(i, 1).Range.Text
        'remove the formatting marks
        tempStr = Left(tempStr, Len(tempStr) - 2)
        If tempStr = " " Then ActiveDocument.Tables(1).Cell(i, 4).Range.Text = "Goodbye"
    Next

End Sub
 
Heb het nu voor elkaar dat de regel verwijderd. Alleen werkt dit alleen als je in de tabel staat.
Hoe kan ik dit aanpassen zodat hij hele document afgaat.

Code:
Sub replaceCellText()
Application.ScreenUpdating = False
    
    Dim rCount As Integer
    Dim i As Integer
    Dim tempStr As String

    rCount = ActiveDocument.Tables(1).Rows.Count
    
    For i = 1 To rCount
        tempStr = ActiveDocument.Tables(1).Cell(i, 1).Range.Text
        'remove the formatting marks
        tempStr = Left(tempStr, Len(tempStr) - 2)
        If tempStr = " " Then ActiveDocument.Tables(1).Rows(i).Delete
    Next

Application.ScreenUpdating = True
    
End Sub
 
Laatst bewerkt:
Een regel uit een tabel verwijderen is niet hetzelfde als een regel in tekst verwijderen. Wat dat betreft is je oorspronkelijke vraag dus niet helemaal juist. Bovendien zie ik in je tabel wel lege rijen, maar geen rijen die met een spatie beginnen. Dus dat klopt ook al niet :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan