Makro #2, Excel makro kurs
Makroen i leksjon #1 fungerer, men den er rimelig primitiv.
I forhold til formelvarianten har den noen klare svakheter som vi skal fikse i denne leksjonen:
- Den gamle listen må slettes før det blir laget en ny
- For å få til dette bruker vi RANGE(«K2:M5000»).ClearContents, som sletter innhold, men ikke formattering i området vi sletter.
- Makroen skal kjøres automatisk når det skjer en endring i søkebegrepet i regnearket.
- Dette gjør vi ved å legge en liten kodesnutt i Worksheet_Change på fanen Navn, som trigges når det skjer en endring i regnearket.
- Det vi søker etter skal hentes fra celle D2 så vi ikke behøver å gå inn i makroen for å sette verdien.
- Vi bruker en variabel Sok og putter innholdet av celle D2 i denne.
- Vi må kunne søke med store og små bokstaver uten at dette får konsekvenser for søket.
- Vi bruker UCASE(Cells(2,4)) for å konvertere innholdet av cella til store bokstaver.
- Vi må passe på at vi kontrollerer det vi søker etter med like mange tegn som det er i etternavnet. Hvis vi søker etter Lar, skal vi sjekke dette mot de tre første tegnene i etternavnet.
- Vi bruker LEN(Sok) for å lese av hvor langt søkebegrepet er
Last ned regnearket her: Makro02.xlsm (157 downloads )