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
Kategori
Tag et kursus i Word og øg effektiviteten

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