Pls try this code:
Option Explicit
Sub Inhouds_opgave()
Application.DisplayAlerts = False
'Met dank aan Nate Oliver
Dim ws As Worksheet, wsNw As Worksheet, N As Integer
Set wsNw = ThisWorkbook.Worksheets.Add(Before:=ThisWorkbook.Sheets(1))
For Each ws In ThisWorkbook.Sheets
If ws.Name = "Inhoudsopgave" Then
ws.Delete
End If
Next ws
With wsNw
.Name = "Inhoudsopgave"
'On Error GoTo 0
.[C4] = "Tabblad"
'.[C4].Font.Size = 10
'.[C4].Font.Bold = True
.[D4] = "Naam"
.[C4:D4].Font.Size = 10
.[C4:D4].Font.Bold = True
End With
N = 4
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Invoice" And ws.Name <> "Debtor" And ws.Name _
<> "Customers" And ws.Name <> "Articles" Then
If Not (ws.Name = wsNw.Name) Then
'On wsNw, Add Hyperlink to: ws
wsNw.Select
wsNw.Cells(N, 3).Value = N - 4
wsNw.Cells(N, 3).HorizontalAlignment = xlCenter
wsNw.Cells(N, 4) = ws.Name
wsNw.Hyperlinks.Add _
Anchor:=Cells(N, 4), _
Address:="", _
SubAddress:="'" & ws.Name & "'!A1"
'On ws, add hyperlink to: wsNw
ws.Select
ws.Cells(3, 1) = wsNw.Name
ws.Hyperlinks.Add _
Anchor:=Cells(3, 1), _
Address:="", _
SubAddress:="'" & wsNw.Name & "'!A1"
End If
End If
N = N + 1
Next 'Next worksheet
Exit Sub
'2: Application.DisplayAlerts = False
' 'Sheets(wsNw).Delete
Application.DisplayAlerts = True
' GoTo 1
End Sub