|
Del linje efter sidste hele ord før x karaktererDenne artikel kunne med nogen ret hedder "Variationer over et tema". Temaet er i alle tilfælde, at få delt en celles indhold i to celler, hvis dette overstiger x antal tegn, fx 40, 60 eller 80. Der skal ikke deles præcis ved angivne antal tegn, men ved det nærmeste mellemrum mellem to ord, før det specificerede antal tegn. Sætningen jeg vil "lege med" kunne være: "Onkel Jans festlige festsange til enhver lejlighed kommer aldrig til ulejlighed." Den første variation over temaet deler den aktive celle, så det, der flyttes, flyttes til cellen til højre for den aktive, mens den øvrige del bliver stående i den oprindelige celle. Sub DelTekstFoer() Her er længden 60 indkodet direkte i makroen., men den kunne også være variabel, fx komme fra en inputbox: Sub DelTekstFoer() eller fra en celle i regnearket: Sub DelTekstFoer() Men måske skal koden ikke kun virke på den aktive celle. Skal den fx altid virke på en bestemt celle i arket, kan man ændre Activecell til fx Range("a1").Value. De næste eksempler arbejder alle sammen på flere rækker, i første omgang på de markerede rækker: Sub DelTekst() Den første del af teksten flyttes til cellen lige til højre for den oprindelige og den sidste del til cellen to til højre for. Den oprindelige celle ændres der ikke noget ved. Er teksten i bare én af cellerne kortere end den værdi, der skal deles ved, vises en fejlmeddelelse og kun linjerne før den første, for korte linje bliver delt. Ønsker man at den oprindelige tekst skal slettes efter opdelingen, skal man bare fjerne udkommenteringen foran c.Clear. Skal tekster, der er kortere end den angivne værdi bare flyttes til den første af de to kolonner, kan følgende anvendes: Sub DelFlereTekst() Igen kan den oprindelige tekst slettes ved at fjerne udkommenteringen foran c.Clear.
|