Mam arkusz kalkulacyjny programu Excel z trzema arkuszami. Jeden z arkuszy zawiera formuły dla jednego z pozostałych arkuszy.Ukrywanie arkusza programu Excel z VBA
Czy istnieje programowy sposób na ukrycie arkusza zawierającego te formuły?
Mam arkusz kalkulacyjny programu Excel z trzema arkuszami. Jeden z arkuszy zawiera formuły dla jednego z pozostałych arkuszy.Ukrywanie arkusza programu Excel z VBA
Czy istnieje programowy sposób na ukrycie arkusza zawierającego te formuły?
Aby ukryć z UI, stosowanie Format> Karta> Ukryj
Aby ukryć programowo, należy użyć właściwości obiektu Worksheet
Visible
. Jeśli robisz to programowo, możesz ustawić arkusz jako "bardzo ukryty", co oznacza, że nie można go wyłączyć w interfejsie użytkownika.
ActiveWorkbook.Sheets("Name").Visible = xlSheetVeryHidden
' or xlSheetHidden or xlSheetVisible
Można również ustawić właściwość widoczny przez okienko właściwości do arkusza w VBA IDE (ALT + F11).
Można to zrobić programowo za pomocą makra VBA. Można dokonać arkusz ukryty lub bardzo ukryty:
Sub HideSheet()
Dim sheet As Worksheet
Set sheet = ActiveSheet
' this hides the sheet but users will be able
' to unhide it using the Excel UI
sheet.Visible = xlSheetHidden
' this hides the sheet so that it can only be made visible using VBA
sheet.Visible = xlSheetVeryHidden
End Sub
Można to zrobić w jednej linii, tak długo, jak arkusz jest aktywny:
ActiveSheet.Visible = xlSheetHidden
Jednak nie może chcesz to zrobić, szczególnie jeśli używasz dowolnych operacji "wybierz" lub używasz więcej operacji ActiveSheet.
Po prostu chciałem dodać trochę więcej szczegółów do udzielonych odpowiedzi. Można również użyć
sheet.Visible = False
ukryć i
sheet.Visible = True
odkryć.
Czy jest to sposób "ukryty" lub "bardzo ukryty"? – Ans
Cóż, łączenie https://msdn.microsoft.com/en-us/VBA/Excel-VBA/articles/xlsheetvisibility-enumeration-excel i https://docs.microsoft.com/en-us/dotnet/visual- basic/language-reference/data-types/boolean-data-type, wygląda na to, że 'True' i' xlSheetVisible' mają wartość -1, a 'False' i' xlSheetHidden' to 0. Oznacza to, że 'sheet.Visible = False' jest równoważne 'sheet.Visible = xlSheetHidden'. –
To powinno być zaakceptowane jako poprawna odpowiedź. –
@ MárioMeyrelles Nie na komputerze z programem Excel, więc nie mogę sam wypróbować - co jest ** bardzo ** ukryte ?! –
oznacza to, że nie możesz go odkryć na wstążce (format> ukryj i odkryj> odkryć arkusz). Możesz go odkryć tylko przez VBA. – Tmdean