Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Hi Basil
Public Function TextStyle(Reference As Range) TextStyle = Range(Reference).Font.FontStyle End Function Cordially Pascal "Basil" a écrit dans le message de ... Hi, I've been looking for a function that will return the style of text within a cell, but I can't find one! I am aware that the text within a single cell can actually have multiple styles, but I am not concerned with this. So, I tried to create my own function in VBA which nearly works - but I need help. The VBA code in my personal module is as follows: Public Function TextStyle(Reference) TextStyle = Range(Reference).Font.FontStyle End Function The problem as you may have guessed is that Reference will return the contents of the cell rather than the address (A1 or whatever). A way I found around this was to change the way I use the function on the worksheet eg: =PERSONAL.XLS!TextStyle(ADDRESS(ROW(A1),COLUMN(A1) ,4)) This works, but I would rather just have it so I can say: =PERSONAL.XLS!TextStyle(A1) This is the first time I've actually created my own function in Excel, so any help tips would be really welcomed. Many thanks, Basil PS The function as is would return 0 for cells holding multiple styles |
#2
![]()
Posted to microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Hi Pascal,
Change TextStyle = Range(Reference).Font.FontStyle to TextStyle = ReferenceFont.FontStyle You have already declared Reference as a range object. --- Regards, Norman "papou" wrote in message ... Hi Basil Public Function TextStyle(Reference As Range) TextStyle = Range(Reference).Font.FontStyle End Function Cordially Pascal "Basil" a écrit dans le message de ... Hi, I've been looking for a function that will return the style of text within a cell, but I can't find one! I am aware that the text within a single cell can actually have multiple styles, but I am not concerned with this. So, I tried to create my own function in VBA which nearly works - but I need help. The VBA code in my personal module is as follows: Public Function TextStyle(Reference) TextStyle = Range(Reference).Font.FontStyle End Function The problem as you may have guessed is that Reference will return the contents of the cell rather than the address (A1 or whatever). A way I found around this was to change the way I use the function on the worksheet eg: =PERSONAL.XLS!TextStyle(ADDRESS(ROW(A1),COLUMN(A1) ,4)) This works, but I would rather just have it so I can say: =PERSONAL.XLS!TextStyle(A1) This is the first time I've actually created my own function in Excel, so any help tips would be really welcomed. Many thanks, Basil PS The function as is would return 0 for cells holding multiple styles |
#3
![]()
Posted to microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Thank you everyone. It works lovely now.
"Norman Jones" wrote: Hi Pascal, Change TextStyle = Range(Reference).Font.FontStyle to TextStyle = ReferenceFont.FontStyle You have already declared Reference as a range object. --- Regards, Norman "papou" wrote in message ... Hi Basil Public Function TextStyle(Reference As Range) TextStyle = Range(Reference).Font.FontStyle End Function Cordially Pascal "Basil" a écrit dans le message de ... Hi, I've been looking for a function that will return the style of text within a cell, but I can't find one! I am aware that the text within a single cell can actually have multiple styles, but I am not concerned with this. So, I tried to create my own function in VBA which nearly works - but I need help. The VBA code in my personal module is as follows: Public Function TextStyle(Reference) TextStyle = Range(Reference).Font.FontStyle End Function The problem as you may have guessed is that Reference will return the contents of the cell rather than the address (A1 or whatever). A way I found around this was to change the way I use the function on the worksheet eg: =PERSONAL.XLS!TextStyle(ADDRESS(ROW(A1),COLUMN(A1) ,4)) This works, but I would rather just have it so I can say: =PERSONAL.XLS!TextStyle(A1) This is the first time I've actually created my own function in Excel, so any help tips would be really welcomed. Many thanks, Basil PS The function as is would return 0 for cells holding multiple styles |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Changing font style and color using VBA | Excel Discussion (Misc queries) | |||
Change the Font Style in VBA | Excel Discussion (Misc queries) | |||
font style of worksheet functions | Excel Worksheet Functions | |||
changing font style in a complex worksheet function | Excel Worksheet Functions | |||
Icon button - font/style | Excel Discussion (Misc queries) |