How about creating custom properties "Sheet1's tag", "Sheet2's tag"..... (based on code names) Since the names of these properties are keyed to the code name, the correspondence between sheet and property won't be lost.
This will create those properties for each sheet in a workbook.
Sub createNewProperties()
Dim xSheet As Worksheet
On Error Resume Next: Rem in case property already exists
For Each xSheet In ThisWorkbook.Worksheets
With ThisWorkbook.CustomDocumentProperties
.Add Name:=xSheet.CodeName & "'s tag", LinkToContent:=False _
, Type:=msoPropertyTypeString, Value:=vbNullString
End With
Next xSheet
On Error GoTo 0
End Sub
This will return the value of the tag for the ActiveCell's sheet, no matter what the user renames the sheet.
ThisWorkbook.CustomDocumentProperties(ActiveCell.Parent.CodeName & "'s tag").Value