Option
Explicit
Public
Sub
RefreshNames()
Dim
rngCell
As
Excel.Range
With
ThisWorkbook.Worksheets(
"Tabelle1"
)
For
Each
rngCell
In
.UsedRange.Columns(1).Cells
Call
rngCell.Hyperlinks.Delete
If
WorksheetExists(rngCell.Text, ThisWorkbook)
Then
Call
.Hyperlinks.Add(rngCell,
""
,
"'"
& rngCell.Text &
"'!A1"
, _
TextToDisplay:=rngCell.Text)
End
If
Next
End
With
End
Sub
Public
Function
WorksheetExists(Name
As
String
,
Optional
ByVal
Workbook
As
Excel.Workbook)
As
Boolean
On
Error
Resume
Next
If
Workbook
Is
Nothing
Then
Set
Workbook = ActiveWorkbook
WorksheetExists =
CBool
(Workbook.Worksheets(Name).Index)
End
Function