Попробуйте:
Option Explicit
Sub test()
Dim sheetsArray As Sheets
Set sheetsArray = ThisWorkbook.Sheets(Array("Project", "Project 2", "Project 3", "Project 4"))
Application.ScreenUpdating = False
If ShowHide1.Name = "Show All Projects" Then
For Each Sheet In sheetsArray
Sheet.Visible = xlSheetVisible
Next Sheet
ShowHide1.Name = "Hide All Projects"
Sheet1.Activate
Else
For Each Sheet In sheetsArray
If (Sheet.Name <> ShowHide1.Name And Sheet.Name <> AlwaysShow.Name) Then
Sheet.Visible = xlSheetVeryHidden
End If
Next Sheet
ShowHide1.Name = "Show All Projects"
End If
Set sheetsArray = ThisWorkbook.Sheets(Array("Jagger1", "Jagger2", "Jagger3", "Jagger4"))
If ShowHide1.Name = "Show All Jagger" Then
For Each Sheet In sheetsArray
Sheet.Visible = xlSheetVisible
Next Sheet
ShowHide1.Name = "Hide Jagger"
Sheet1.Activate
Else
For Each Sheet In sheetsArray
If (Sheet.Name <> ShowHide1.Name And Sheet.Name <> AlwaysShow.Name) Then
Sheet.Visible = xlSheetVeryHidden
End If
Next Sheet
ShowHide1.Name = "Show all Jagger"
AlwaysShow.Activate
End If
Application.ScreenUpdating = True
End Sub
Для обслуживания, например, вам необходимо отключить таблицу стилей, поскольку она сохраняет стили css в памяти, поэтому удаление элемента не сработает, это также может привести к сбою в некоторых случаях, если Я правильно помню.
Это также работает для кроссбраузерности.
например
document.styleSheets[0].disabled = true;
// поэтому в вашем случае с использованием jquery попробуйте
$('link[title=mystyle]')[0].disabled=true;
Если Вы хотите сделать это только с атрибутом href:
$('link[href="https://example.com/mycss.css"]').remove()
Мне удалось это сделать с помощью:
$('link[title="mystyle"]').attr('disabled', 'disabled');
кажется, это единственный способ удалить стили из памяти. затем я добавил:
$('link[title="mystyle"]').remove();
, чтобы тоже удалить элемент.