Code wird nicht aktualisiert, erst nach Eingabe
03.11.2023 12:49:28
eglmar
Ich habe folgenden Code der auch funktioniert, wenn man Daten direkt eingibt, jedoch besteht der Inhalt der Zelle B7 aus einer Formel (=sverweis), dadurch wird das Tabellenblatt nicht umbenannt. Erst wenn man bei der Bearbeitungsleiste der Zelle B7 klickt und Enter drückt wird der Namen des Tabellenblattes geändert. Wie könnte man das automatisch machen.
Herzlichen Dank
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wsN$, i%
If Sh.Index > 6 Then GoTo Hell
'Änderungen in B7 beeinflussen nur Blattnamen 1 - 6
With Sh
If Not Intersect(Target, Sh.Range("B7")) Is Nothing Then
If Target.Text = "" Then Sh.Name = Sh.Name: GoTo Hell
'Leere Eingabe in B7 beendet ohne Änderung
With Target
'Blattname max 31 Zeichen
For i = 1 To 31
Select Case Mid(.Text, i, 1)
Case "\", "/", "*", "[", "]", ":", "?"
'unerlaubte Zeichen in Blattnamen "entfernen"
Case Else
wsN = wsN & Mid(.Text, i, 1)
End Select
Next i
End With
Sh.Name = wsN
End If
End With
Hell:
End Sub