Public Sub intern()
Dim wb As Workbook
Dim wks As Worksheet
Dim hls As Hyperlinks
Dim hl As Hyperlink
Set wb = ThisWorkbook
Set wks = wb.Worksheets(wb.Worksheets.Count)
Set hls = wks.Hyperlinks
For Each hl In hls
If hl.Address = "" Then
hl.SubAddress = "'" & wks.Name & "'!" & Right(hl.SubAddress, Len(hl.SubAddress) - InStr(hl.SubAddress, "!"))
End If
Next
End Sub
Option Explicit
Sub NewSheet()
Dim oldwks As Worksheet, newWks As Worksheet, Name$, Zellen As Range
Name = InputBox("Bitte Blattnamen vergeben", "Abfrage Blattnamen")
Set oldwks = Tabelle6
Set newWks = ThisWorkbook.Worksheets.Add(after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
oldwks.Range("A1").CurrentRegion.Copy
newWks.Range("A1").PasteSpecial (xlAll)
With newWks
Set Zellen = .Range("A1,J1,S1,AB1,AK1,AT1,BC1,BL1,BU1,CD1,CM1,CV1")
.Name = Name
.Hyperlinks.Add Anchor:=Zellen, Address:="", SubAddress:=.Name & "!DO1"
Zellen.Interior.Color = RGB(146, 208, 80)
End With
With Zellen
.Interior.Color = RGB(146, 208, 80)
.HorizontalAlignment = xlCenter
End With
End Sub
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim hl As Hyperlink
If Sh.Hyperlinks.Count = 0 Then
Exit Sub
Else
Set hl = Sh.Hyperlinks(1)
If Left(Replace(CStr(hl.SubAddress), Sh.Name, ""), 2) = "''" Then
'Nix
Else
Call intern(Sh)
End If
End If
End Sub
Option Explicit
Public Sub intern(wks As Worksheet)
Dim wb As Workbook
'Dim wks As Worksheet
Dim hls As Hyperlinks
Dim hl As Hyperlink
Set wb = ThisWorkbook
'Set wks = wb.Worksheets(wb.Worksheets.Count)
Set hls = wks.Hyperlinks
For Each hl In hls
If hl.Address = "" Then
hl.SubAddress = "'" & wks.Name & "'!" & Right(hl.SubAddress, Len(hl.SubAddress) - InStr(hl.SubAddress, "!"))
End If
Next
End Sub
Sub M_snb()
For Each it In Sheets(Sheets.Count).Hyperlinks
st = Split(it.SubAddress, "!")
If it.Address = "" Then st(0) = Replace("'~'", "~", it.Range.Parent.Name)
it.SubAddress = Join(st, "!")
Next
End Sub