#excel #vba #automation #private
#excel #vba #автоматизация #Частное
Вопрос:
В следующем коде каждый раз, когда я нажимаю на лист «Обложка», он скрывает ленту и увеличивает масштаб до определенного набора ячеек. Я хочу сохранить этот код, но также скрыть ленту для другого листа под названием «Домашняя страница». Я попытался выполнить оператор Or в операторе IF, но это не сработало. Любая помощь была бы отличной. : D
If ActiveSheet.Name = "Cover" Then
'Application.CommandBars.ExecuteMso "HideRibbon"
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" 'code to hide ribbon.
Range("C4:S51").Select
ActiveWindow.Zoom = True
Range("a5").Select
Application.DisplayFormulaBar = False
Else
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 'code to show ribbon.
End If
End Sub
Private Sub Workbook_Deactivate()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 'code to show ribbon.
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Cover" Then
'Application.CommandBars.ExecuteMso "HideRibbon"
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" 'code to hide ribbon.
Range("C4:S51").Select
ActiveWindow.Zoom = True
Range("a5").Select
Application.DisplayFormulaBar = False
Else
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 'code to show ribbon.
End If
End Sub```
Комментарии:
1. Если ActiveSheet. Name = «Обложка» ИЛИ ActiveSheet. Name = «Домашняя страница» ИЛИ ActiveSheet. Name = «Cover3» Тогда
2. Используйте a
Select Case
для его очистки.3. @Hooded 0ne Большое вам спасибо! Работает именно то, что мне нужно
4. @braX Что такое «Выбрать регистр» и как вы его используете?
Ответ №1:
Для использования Select Case
(что является гораздо более чистым способом сделать это, делая его намного более читаемым)
Select Case ActiveSheet.Name
Case "Cover", "Homepage", "Cover3"
' do the same thing for all 3 of these
Case "AnotherName"
' do something
Case Else
' do something else
MsgBox "This sheet name is wrong!"
End Select