Bestemme skriftformatering

May 20  by Eliza

Oscar har et behov for å bestemme font og skriftstørrelse brukes på tekst i en celle. For eksempel, hvis teksten i celle A1 er i 12-pt Arial, ville han gjerne en funksjon som kan brukes til å returnere "Arial" i celle B1 og 12 i celle C1.

Det er ingenting innebygd i Excel som gjør at denne formater informasjon som skal grep. Du kan imidlertid opprette en veldig enkel makro som vil gjøre utslaget. Følgende makro tar, som argumenter, en cellereferanse og eventuelt en indikator på hvilke data du vil ha returnert.

Funksjon FontInfo1 (Rn Som Range, Valgfritt iType As Integer)
Application.Volatile
Hvis iType = 2 Deretter
FontInfo1 = Rn.Font.Size
Else
FontInfo1 = Rn.Font.Name
Endif
End Function

Man bruke funksjonen ved hjelp av en formel som dette i en celle:

= FontInfo1 (A1,1)

Den andre parameteren (i dette tilfellet 1) betyr at du vil ha navnet på fonten. Hvis du endrer den andre parameteren til to deretter skriftstørrelsen er returnert. (Egentlig kan du ha den andre parameteren være noe annet enn to-eller la det helt av-og den returnerer skriftnavnet.)

Hvis du ønsker å returnere begge verdier på en gang, kan du bruke en mindre kjent måte å returnere matriser av informasjon fra en brukerdefinert funksjon. Prøv følgende:

Funksjon FontInfo2 (c Som Range) Som Variant
Application.Volatile
FontInfo2 = Array (c.Font.Name, c.Font.Size)
End Function

Velg to horisontalt tilstøtende celler (for eksempel C7: D7) og skriv inn følgende formel:

= FontInfo (A1)

Fordi funksjonen returnerer en matrise, må du avslutte formel oppføring ved å trykke Shift + Ctrl + Enter. Skriftnavn vises i den første cellen (C7) og skriftstørrelsen vises i den andre cellen (D7).

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (7139) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Bestemme skriftformatering.