I have the code below in one of my worksheets that I use to create a hyperlink to another worksheet in the workbook. It basically looks at the value in column B for the row adds it to the end of the text "thesheet" which is the first part of the name of the worksheet to get the worksheet namve of thesheet1016 or something similar... Each row would have a different value in column B so in effect I have a workbook that has many many worksheets and the creation of this "HYPERLINK" to those worksheets gives me an easy way to navigate to them.

I would like to clean things up even further and would like to create a VB Function or something similar where I would pass it the value in column B for that row and it would basically "unhides" the correct worksheet and then makes it active. I would then have another button on that worksheet that would hide it and return me to my "table of contents"

The challenge I am running into...

How to invoke the function from the specific cell... right now I have a hyperlink so I just tell it to put the ☼ character into the cell if there is a value in B. I think a command button is too big and "clunky" because every row in the table of contents worksheet would have one.
If I don't have a value in B I don't get the symbol and I know there is no corresponding worksheet for that row of data.

IF(B14="","",HYPERLINK(CONCATENATE(CONCATENATE("[",MID(CELL("filename"),SEARCH("[",CELL("filename"))+1,SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-1),"]TheSheet"),VALUE(B14),"!A1"),"☼"))