I'm not sure about being able to link a bookmark to a cell value, but I had a similar problem in which I solved using the the 'HYPERLNK' formula. Here's how I went about it...
When the workbook opens, I save the workbook name to a named range 'DAT_FILE_NAME' within a sheet 'FILE_DATA'. The code should be placed in the ThisWorkbook object:
Code:
Private Sub Workbook_Open()
Worksheets("FILE_DATA").Activate
Worksheets("FILE_DATA").Range("DAT_FILE_NAME") = ActiveWorkbook.Name
End Sub
With that out of the way, next you need to create the hyperlink to jump to the sheet you're looking for. In this example, I've prefixed the sheet name with "i_" to indicate it's for an individual. The rest of the sheet name is the unique reference for the individual. So if I have a range as below...
....A...B
1) ID....Name
2) AAA Mickey
3) BBB Goofy
4) CCC Donald
I would have three sheets, 'i_AAA', 'i_BBB' and 'i_CCC'.
The hyperlink is created as follows:
Code:
HYPERLINK(CONCATENATE("[",DAT_FILE_NAME,"]", "i_",A2,"!A1"),"Link")
The "Link" (last part) of the HYPERLINK function is just the visible text you'd like to use for the hyperlink.
The 'CONCATENATE' function builds up the hyperlink then executed by the HYPERLINK function, so in the above example, the result of the CONCATENATE function would be '[Book1.xlsm]i_AAA!A1' (without single quotes). A1 is the cell that you want to jump to in the worksheet.
Because I use this with a unknown range, I further enhance the formula to display nothing if the target cell is blank:
Code:
=IF(NOT(ISBLANK(A2)),HYPERLINK(CONCATENATE("[",DAT_FILE_NAME,"]", "i_",A2,"!A1"),"Link"),"")
There might be a more simple way to do this, but this has worked really well for me. Of course you mentioned that you will jump to two different sheets, they you just need to adjust the formula for the name of the additional sheet and put it in the second column.