У меня есть код, который будет переименовывать листы на основе значений ячеек в раскрывающемся списке. У меня есть два выпадающих списка «C21» и «G17» и кнопка, которая поможет мне переименовать лист.Код VBA для отключения ячеек
Моя забота: мне нужно отключить ячейки от «H1» до «M40», чтобы пользователь не мог вводить данные, пока он не переименует лист. В принципе, если кнопка успешно выполнена, ячейки должны быть активными, если не «НЕТ». Не могли бы вы мне помочь?
Sub RenameCurrentSheet()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim worksh As Integer
Dim worksheetexists As Boolean
Dim ws As Worksheet
worksh = Application.Sheets.Count
worksheetexists = False
ThisWorkbook.Unprotect Password:="xyz"
For x = 1 To worksh
If Worksheets(x).Name = ActiveSheet.Range("C21").Value & "-" & ActiveSheet.Range("G17").Value Then
worksheetexists = True
MsgBox ("Sheet with the name " + Worksheets(x).Name + " Already Exists!!!")
Exit For
End If
Next x
If worksheetexists = False Then
For x = 1 To worksh
If ActiveSheet.Name = "MainSheet" Then
MsgBox "You Cannot Change Name of This Sheet!!!"
Else
ActiveSheet.Name = Range("C21").Value & "-" & Range("G17").Value
Exit For
End If
Next x
End If
Application.DisplayAlerts = True
ThisWorkbook.Protect Password:="xyz"
End Sub
Пожалуйста, помогите !!
Я включил эту строку на гика, а не на кнопку (код, который я Приведенную выше был дан для баяна/модуля). Ячейки теперь становятся отключенными, когда значение имени листа совпадает со значением 2 ячеек. Но проблема заключается в том, когда имя листа совпадает, он будет занимать 4-5 кликов на ячейке, чтобы активировать его и его раздражать. Я делаю что-то не так. – sady
См. Мой отредактированный код выше для события выбора рабочего листа, которое поможет при блокировке/разблокировке этих ячеек. – Jason
Спасибо, Джейсон, который сработал! – sady