@Frank: Blattnamen und Reiterfarben
06.02.2007 00:15:59
Erich
Hallo Frank,
speziell für dich:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ii As Integer, intF As Integer
For ii = 4 To 8 ' Zeilen 4 bis 8
If Not Intersect(Cells(ii, 5), Target) Is Nothing Then ' Spalte 5 = E
If BlattNam_Pruefung(Cells(ii, 5)) Then
With Sheets(ii + 1) ' Blätter 5 bis 9
.Name = Cells(ii, 5)
Select Case Cells(ii, 6)
Case 0: intF = xlColorIndexNone ' 0 für keine Färbung
Case 1 To 56: intF = Cells(ii, 6) ' Farbnummer (1 - 56) aus Spalte 6 = F
Case Else
MsgBox "E" & ii & " enthält keinen gültigen Farbindex: " & Cells(ii, 6)
intF = 9999
End Select
If intF < 9999 Then .Tab.ColorIndex = intF
End With
Else
MsgBox "E" & ii & " enthält keinen gültigen Blattnamen: " & vbLf & Cells(ii, 5)
End If
End If
Next ii
End Sub
Function BlattNam_Pruefung(BlaNam As String) As Boolean
' www.excelformeln.de/formeln.html?welcher=96
' www.xlam.ch/pos/rules.htm#Richtlinien%20f%FCr%20Arbeitsblatt-Namen
If BlaNam = "" Or Len(BlaNam) > 31 Then Exit Function
If Application.Evaluate("=SUM((MID(""" & BlaNam & """,COLUMN(1:1),1)" & _
"={"":"";""/"";""\"";""?"";""*"";""]"";""[""})*1)") > 0 Then Exit Function
BlattNam_Pruefung = True
End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort