![]() |
Format Text During Function
I have a function that transposes names.
Let's say for example that it is: Smith Jr., James It works fine but I would like to format (Make Bold and REd) the text in the resultant cell if it meets a particular condition. I cannot figure out why this does not work. The function works fine and returns the correct results but does not format the text if the condition is met. Any help appreciated... - - - - - - - - - -- - - - - - Public Function TransName(MyText) As String Dim LName, FName As String Dim Comma, Legnth, JrSuff As Byte Length = Len(MyText) Comma = InStr(1, MyText, ",") Length = Length - Comma JrSuff = InStr(1, MyText, "Jr") 'Debug.Print JrSuff LName = Left(MyText, Comma - 1) FName = Right(MyText, Length) TransName = FName & " " & LName TransName = Trim(TransName) '==== THE FOLLOWING DOES NOT WORK===== If JrSuff = 1 Then Selection.Font.ColorIndex = 3 Selection.Font.Bold = True End If '======================================== End Function |
Format Text During Function
PJohnson, "=== THE FOLLOWING DOES NOT WORK=====" because a function can only return a value to the calling cell, and cannot otherwise change the Excel environment (such as font color or style). You would need to use a macro or worksheet event to achieve your results. HTH, Bernie MS Excel MVP "PJohnson" wrote in message news:5G0oe.27388$iU.19471@lakeread05... I have a function that transposes names. Let's say for example that it is: Smith Jr., James It works fine but I would like to format (Make Bold and REd) the text in the resultant cell if it meets a particular condition. I cannot figure out why this does not work. The function works fine and returns the correct results but does not format the text if the condition is met. Any help appreciated... - - - - - - - - - -- - - - - - Public Function TransName(MyText) As String Dim LName, FName As String Dim Comma, Legnth, JrSuff As Byte Length = Len(MyText) Comma = InStr(1, MyText, ",") Length = Length - Comma JrSuff = InStr(1, MyText, "Jr") 'Debug.Print JrSuff LName = Left(MyText, Comma - 1) FName = Right(MyText, Length) TransName = FName & " " & LName TransName = Trim(TransName) '==== THE FOLLOWING DOES NOT WORK===== If JrSuff = 1 Then Selection.Font.ColorIndex = 3 Selection.Font.Bold = True End If '======================================== End Function |
Format Text During Function
On Fri, 3 Jun 2005 13:38:11 -0400, "PJohnson" wrote:
I have a function that transposes names. Let's say for example that it is: Smith Jr., James It works fine but I would like to format (Make Bold and REd) the text in the resultant cell if it meets a particular condition. I cannot figure out why this does not work. The function works fine and returns the correct results but does not format the text if the condition is met. Any help appreciated... A function can ONLY return a value. It cannot alter properties. (nor can it call a SUB to do that alteration, a far as I know). Perhaps you could use conditional formatting to accomplish your goals. --ron |
All times are GMT +1. The time now is 09:51 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com