07. november 2016 - 10:52Der er
2 kommentarer og 1 løsning
Kombinere to if-sætninger i VBA (Word)
Jeg har to forskellige koder til sletning af henholdsvis flere afsnit og til sletning af et enkelt tekstfelt. Jeg har de to koder, men kan kun få dem til at virke hver for sig, og har brug for hjælp til at få smeltet koderne sammen til en kode. Koderne er som følger:
Sub SletValg1afsnit()
Dim f As FormField Dim rngParas As Range Set f = ActiveDocument.FormFields("Valg1") If f.Result = "-" Then 'fjern beskyttelse UnprotectForFormFields ActiveDocument 'definer range, som indeholder afsnit m. felt + næste 2 afsnit Set rngParas = f.Range.Paragraphs(1).Range rngParas.MoveEnd unit:=wdParagraph, Count:=2 rngParas.Delete 'beskyt igen ProtectForFormFields ActiveDocument End If Set f = Nothing Set rngParas = Nothing End Sub
Sub SletTomtFelt1()
Dim f As FormField Set f = ActiveDocument.FormFields("Valg1") If f.Result = "j" Then 'fjern beskyttelse UnprotectForFormFields ActiveDocument f.Range.Paragraphs(1).Range.Delete 'beskyt igen ProtectForFormFields ActiveDocument End If
Jeg ved ikke med sikkerhed, om det er følgende, du gerne vil have. Makroen nedenfor er lavet ved at ændre mindst muligt på din eksisterende kode. Det kunne godt laves, så håndtering af beskyttelse var samlet for de to resultater, der tjekkes for, men det har ikke betydning for funktionaliteten.
Sub SletValg1afsnit_SletTomtFelt1()
Dim f As FormField Dim rngParas As Range
Set f = ActiveDocument.FormFields("Valg1") If f.Result = "-" Then 'fjern beskyttelse UnprotectForFormFields ActiveDocument 'definer range, som indeholder afsnit m. felt + næste 2 afsnit Set rngParas = f.Range.Paragraphs(1).Range rngParas.MoveEnd unit:=wdParagraph, count:=2 rngParas.Delete 'beskyt igen ProtectForFormFields ActiveDocument ElseIf f.Result = "j" Then 'fjern beskyttelse UnprotectForFormFields ActiveDocument f.Range.Paragraphs(1).Range.Delete 'beskyt igen ProtectForFormFields ActiveDocument End If End If
Som sædvanligt havde du en løsning på mit problem. Der var lige et enkelt End if for meget i din løsning, men da jeg fik fjernet det, virkede det perfekt. Tak for hjælpen.
Synes godt om
Ny brugerNybegynder
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.