Met de code in #12 wordt er nergens iets met 1 opgehoogd. De eerste 4 posities van de tabnaam worden vervangen door de waarde in B1.
Staan jouw events wel aan?
Zo nee
Als er maar 2 cellen zijn die het Change Event aanroepen dan kan de code ook wat korter (maar minder leesbaar)
Staan jouw events wel aan?
Code:
Sub VenA()
MsgBox Application.EnableEvents
End Sub
Zo nee
Code:
sub aan()
Application.EnableEvents = true
end sub
Als er maar 2 cellen zijn die het Change Event aanroepen dan kan de code ook wat korter (maar minder leesbaar)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1,B10")) Is Nothing And Target.Count = 1 Then
Application.ScreenUpdating = False
For Each sh In Sheets
If IsNumeric(sh.Name) Then
If Target.Address(0, 0) = "B1" Then sh.Name = Replace(sh.Name, Left(sh.Name, 4), Target.Value) Else sh.Visible = Val(Right(sh.Name, 2)) >= Target.Value
End If
Next sh
End If
End Sub