Pallantir Skrevet 11. november 2023 Del Skrevet 11. november 2023 (endret) Utgangsteksten i noen dokumenter jeg bruker, ser ut som dette: nøkkelord 3 Det var en gange en nisse som måtte tisse Han hoppet over et gjerde, der fant han ei pære nøkkelord 2 den delte han i fem, én, to, tre, fire, fem Så teksten på de to linjene under forandrer seg, og tallet etter "nøkkelord" forandrer seg også, og det er ikke alle grupper av to linjer som har "nøkkelord" over seg. Det jeg er ute etter er en makro for Word (jeg bruker 2007 fordi firmaet jeg jobber for er for gjerrige til å oppdatere, og den gjør jo egentlig også alt vi trenger) som kan flytte ned linja med "nøkkelord" to hakk, så det blir sånn: Det var en gange en nisse som måtte tisse nøkkelord 3 Han hoppet over et gjerde, der fant han ei pære den delte han i fem, én, to, tre, fire, fem nøkkelord 2 Det vil alltid være to linjer under "nøkkelord", så den skal alltid flyttes to linjer ned. Jeg fant en seks år gammel makro på nettet som gjorde nesten det jeg ville: Sub Flyttonedlinje() Application.ScreenUpdating = False Selection.HomeKey Unit:=wdLine Selection.EndKey Unit:=wdLine, Extend:=wdExtend Selection.Cut Selection.TypeText Text:="µµµµ" Selection.Find.ClearFormatting With Selection.Find .Text = "nøkkelord" .Replacement.Text = "" .Forward = True End With Selection.Find.Execute Selection.HomeKey Unit:=wdLine Selection.MoveUp Unit:=wdLine, Count:=1 Selection.Paste Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting With Selection.Find .Text = "µµµµ" .Replacement.Text = "" .Forward = True End With Selection.Find.Execute Selection.Delete Unit:=wdCharacter, Count:=1 End Sub Den gjør det kanskje ikke på noen elegant måte, med bruken av innsetting av µµµµ, men den fungerer. Problemet er at den bare fungerer på den første gangen den ser "nøkkelord". Jeg trenger at den skal søke igjennom hele dokumentet (som kan være på en god del sider) og gjør det samme på alle stedene der det står "nøkkelord". Endret 11. november 2023 av Pallantir Lenke til kommentar
Locrin Skrevet 22. november 2023 Del Skrevet 22. november 2023 Sub MoveLineTwoLinesDown() Dim keyword As String keyword = "keyword" ' Change "keyword" to the actual keyword you want to search for Dim line As Range Dim document As Document Set document = ActiveDocument For Each line In document.Paragraphs If InStr(line, keyword) > 0 Then line.Range.Cut line.Range.InsertAfter vbCr & vbCr document.Undo ' Preserve the position of the keyword Exit For End If Next line End Sub Chatgpt foreslår dette. 1 Lenke til kommentar
Pallantir Skrevet 25. november 2023 Forfatter Del Skrevet 25. november 2023 Takk for forsøket, men jeg har alt fått et svar i PM med en fungerende utgave som er innlemmet. Jeg glemte å legge det ut. Beklager. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå