Страницы: 1
RSS
форма даёт название листу VBA, средствами VBA через форму
 
как средствами VBA через форму (чтобы было красиво) дать имя новому листу в книге
 
Так же, как не через форму.
Код
ActiveSheet.Name = "Новое имя"

А чтобы красиво - делайте форму как Вам кажется красиво и туда внедряйте.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
поясню ,есть форма в которой есть listbox и две кнопки ok cancel при нажатии на ok создаёт новый лист с названием прописанном в listbox если ничего не написано или противоречит правилам названия листов то выкидывает ошибку, cancel выходит с формы.
 
как склеить listbox с vba?
 
Цитата
Roma77g написал: есть форма в которой есть listbox и две кнопки ok cancel
Где эта форма? Файл покажите.
 
Roma77g, Вы уверены, что речь идет о listbox, а не о textbox?
 
не проблема поменять listbox  на texbox ,сделано только для названия листа.
 
Тоже поясню - у меня нет формы. Нет ListBox. Если в общих рекомендациях - проверяйте наличие в имени запрещенных символов и длины имени(не более 31 символа).
Как универсальную функцию можно использовать нечто вроде:
Код
Function CheckName(sName As String)
    Dim objRegExp As Object
    Set objRegExp = CreateObject("VBScript.RegExp")
    objRegExp.Global = True: objRegExp.IgnoreCase = True
    objRegExp.Pattern = "[:\\/?\*\]\[\']"
    CheckName = objRegExp.Replace(sName, "")
End Function

использование:
Код
Dim s As string
s = CheckName(s)
If len(s) = "" then
    msgbox "Имя листа не должно содержать запрещенных символов (:\/?*][') и состоять только из них"
end if
If len(s) > 31 then
    msgbox "Имя листа не должно содержать более 31 символа"
end if
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
сам файл на работе , но если действительно есть необходимость в примере сейчас создам новый файл
 
Я бы ещё добавил проверку - нет ли уже такого листа))
 
ВОТ сделал примерно ,что нужно , кнопка  ОК  не задействованна  
 
Так а сами-то не хотите попробовать внедрить предложенную функцию? И процедуру добавления листа прописать...Если хотите научиться - то надо пробовать сначала самостоятельно делать по рекомендациям.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
в том то всё и дело , что не знаю как применить  данную  информацию
 
Erorr If Len(s) = "" Then
 
Roma77g, опечатка в этой строке. Исправьте на:
Код
If s = "" Then
или
Код
If Len(s) = 0 Then

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
в этом файле не работает texbox и как связать его незнаю
Страницы: 1
Читают тему
Наверх