iNewName$ = TextBox1.Text
If iNewName$ <> "" Then
With ThisWorkbook
.Worksheets.Add.Name = iNewName$
With .VBProject.VBComponents
.Item(.Count).Name = iNewName$
End With
End With
Else
MsgBox "Имя рабочего листа должно содержать," & _
vbNewLine & "как минимум один допустимый символ", _
vbCritical, "Ошибка пользователя !!!"
End If
Как менять настоящее имя рабочего листа??
Set NewSheet = Worksheets.Add
NewSheet.Name = TextBox1.Text
Worksheets(TextBox1.Text).Name = TextBox1.Text
Несмотря на то, что свойство .CodeName доступно только для чтения, кодовое имя рабочего листа изменить всё таки можно (вручную или программно)
Код:
Код:
iNewName$ = TextBox1.Text
If iNewName$ <> "" Then
With Application
.Worksheets.Add.Name = iNewName$
With .VBE.ActiveVBProject.VBComponents
.Item(.Count).Name = iNewName$
End With
End With
Else
MsgBox "Имя рабочего листа должно содержать," & _
vbNewLine & "как минимум один допустимый символ", _
vbCritical, "Ошибка пользователя !!!"
End If
If iNewName$ <> "" Then
With Application
.Worksheets.Add.Name = iNewName$
With .VBE.ActiveVBProject.VBComponents
.Item(.Count).Name = iNewName$
End With
End With
Else
MsgBox "Имя рабочего листа должно содержать," & _
vbNewLine & "как минимум один допустимый символ", _
vbCritical, "Ошибка пользователя !!!"
End If
Примечание :
- Имя нового рабочего листа должно быть уникально, т.е. отличным от уже имеющихся.
- Имя нового рабочего листа не может содержать более 31 символа. А также, оно не должно содержать недопустимых символов / \ ? * : [ ] (причём вводить ] [ можно)
- Если у Вас наличествует MS Excel XP или старше, то для манипуляции с модулями нужно установить соответствующий флажок [меню Сервис пункт Макросы - команда Безопасность и закладка Надёжные источники]
- имя не может содержать только числовые значения.
- первый символ в имени должен быть только буквой (имя не может начинаться с числовых значений или символа подчёркивания)
- имя может содержать только буквы, числовые значения или символ подчёркивания.