Avatar billede densortehingst Seniormester
09. januar 2023 - 10:05 Der er 2 kommentarer og
1 løsning

Makro til sletning i tabel

Jeg har denne lille makro, som beder om en tekst og efterfølgende sletter alle rækker i tabellen, hvor teksten forekommer.
Jeg ville gerne have den ændret, så den i stedet for BEVARER alle de rækker, hvor teksten forekommer og sletter alle de rækker, hvor teksten ikke forekommer.

Sub DeleteRowWithSpecifiedText()
    Dim sText As String

    sText = InputBox("Enter text for Row to be deleted")
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = sText
        .Wrap = wdFindContinue
    End With
    Do While Selection.Find.Execute
        If Selection.Information(wdWithInTable) Then
            Selection.Rows.Delete
        End If
    Loop
End Sub
Avatar billede Lene Fredborg Ekspert
09. januar 2023 - 11:21 #1
Lad makroen gå gennem alle rækker i alle tabeller. Slet rækken, hvis teksten ikke findes i den. Men du skal være opmærksom på, at makroen vil fejle, hvis der er lodret flettede celler i en tabel. Derfor bør du indbygge fejlhåndtering. Makroen (uden fejlhåndtering) kan set sådan ud:

Sub DeleteRowsWithoutSpecifiedText()
    Dim sText As String
    Dim oTable As Table
    Dim oRow As Row
   
    sText = InputBox("Enter text for Row to be deleted")
   
    For Each oTable In ActiveDocument.Tables
        For Each oRow In oTable.Rows
            If InStr(oRow.Range.Text, sText) = 0 Then
                oRow.Delete
            End If
        Next oRow
    Next oTable
   
End Sub
Avatar billede Lene Fredborg Ekspert
09. januar 2023 - 11:22 #2
Makroen har mistet indryk, da den blev indsat her ...
Avatar billede densortehingst Seniormester
09. januar 2023 - 11:45 #3
Så enkelt når man kan - mange tak til lene :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester