|
Indsæt tom kolonne foran given tekstUdfordringen er at finde den første forekomst af en given tekst i et regneark, og så indsætte en tom kolonne til venstre for den kolonne, der indeholder den pågældende tekst.
I eksemplet skal der indsættes en ny tom kolonne til venstre for den første forekomst af ordet UKENDT, og kun foran denne første forekomst. Evt. yderligere forekomster skal ignoreres. I eksemplet er UKENDT markeret med fed. Dette har ingen betydning for løsningen, men er kun for at gøre det nemmere at identificere de pågældende celler. Den første udfordring er at beslutte sig til, hvad der er den første forekomst. Er det forekomsten i E3 fordi den står øverst, eller er det forekomsten i B5 fordi den står længst til venstre? Det er altså vigtigt at vide om arket læses fra venstre mod højde (række for række) eller oppe fra og ned (kolonne for kolonne). Når dette er vigtigt skyldes det, at såfremt man bruger en For Each...Next løkke til at gennemløbe cellerne, hvilket vil være det naturlige, starter denne altid i den øverste venstre celle i det område, der skal undersøges, og så læser den fra højre mod venstre. Se også dette link. Denne makro er baseret på dette forhold. Sub
InsertNewColumnperRo() Den undersøger hver celle i det brugte område, derfor UsedRange - der er jo ingen grund til at undersøge celler, der ikke er brugt. Kender man på forhånd det mulige område, hvor UKENDT kan forekomme, kan man selvfølge definere et mere snævert område til sin søgning. I eksemplet løses altså fra A1 mod højre og derefter i næste række, og den første forekomst, af UKENDT, der findes er den tekst, der står i E2. Den nye klonne indsættes derfor til venstre for E (ny E) og markøeren anbringes øverst i denne kolonne.
Ønsker man regnearket læst i kolonner, må man bruge en anden metode, fx denne: Sub
InsertNewColumnperColumn() Denne udnytter ikke For Each...Next, men "kreerer sin egen ved hjælp af to For...Next løkker, en indre og en ydre løkke. Dette beskrives i artiklen, der linkes til ovenfor. Denne metode sikrer at regnearket læses kolonnevis. Den første forekomst af UKENDT er således forekomsten i B5, og den tomme kolonne indsættes til venstre for B (ny B)
|