0
我有一個代碼將根據下拉列表中的單元格值重命名工作表。我有兩個下拉列表「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
請幫忙!!
我已經包括在按鈕上的MainSheet而不是上面的行(I上面提供的代碼被賦予對按鈕/模塊)。當表格名稱dosent與2個單元格的值匹配時,單元格現在被禁用。但問題是當表格名稱匹配時,單元格需要4-5次點擊才能使其處於活動狀態並且令人討厭。我做錯了什麼.. – sady
請參閱我上面編輯的代碼,瞭解有關何時鎖定/解鎖這些單元格的工作表選擇事件。 – Jason
謝謝傑森工作! – sady