W tym artykule stworzymy makro do ukrywania arkusza Excela. Arkusz Excela jest ukrywany poprzez zmianę jego właściwości za pomocą kodu VBA. Ukryty arkusz Excela nie może być widoczny za pomocą przycisku odkryj w aplikacji Excel.
W tym przykładzie stworzyliśmy formularz rejestracji bramki.
Gdy użytkownik wprowadzi dane w formularzu i kliknie przycisk wyślij, dane zostaną zapisane w arkuszu „Dane”. Przycisk „Prześlij” ma przypisane makro „Przesyłanie szczegółów”.
Arkusz „Dane” można ukryć lub odkryć, klikając przycisk „Karta danych”. Jeśli arkusz „Dane” jest ukryty, nie można go pokazać za pomocą opcji odkryj dostępnej w arkuszu Excel.
Arkusz ukryty za pomocą przycisku „Arkusz danych”, pozostaje widoczny w eksploratorze projektu w VBE (Visual Basic Editor), a właściwości arkusza ukrytego arkusza są ustawione na xlSheetVeryHidden.
Arkusz można również bardzo ukryć bez użycia kodu VBA. W tym celu musimy otworzyć VBE i ustawić widoczną właściwość arkusza w oknie właściwości na 2 - xlSheetVeryHidden.
Aby ukryć arkusz, aby nikt nie mógł go odkryć bez znajomości hasła do projektu Vb, po prostu ukryj plik za pomocą kodu VBA lub zmień widoczną właściwość arkusza na 2, tj. xlsheetveryhidden i zablokuj projekt Vb wraz z hasłem.
Aby zabezpieczyć projekt Vb hasłem, kliknij prawym przyciskiem myszy obiekt Microsoft Excel > Wybierz właściwości VBAProject… > Pojawi się okno dialogowe Właściwości VBAProject.
W oknie dialogowym Właściwości VBAProject przejdź do zakładki Ochrona> zaznacz pole blokowania projektu> przypisz hasło do projektu. Hasło jakie przypisujemy do załączonego pliku to „rejestr”. Do projektu można przypisać dowolne hasło.
Przycisk „Karta danych” służy zarówno do ukrywania, jak i odkrywania arkusza. Przycisk „Karta danych” ma przypisane makro „ToggleHidingDataSheet”. Gdy użytkownik kliknie przycisk i jeśli plik jest ukryty, arkusz staje się widoczny, a jeśli arkusz jest widoczny, arkusz jest ukryty.
Arkusz może być widoczny poprzez kliknięcie przycisku „Arkusz danych” lub poprzez zmianę widocznej właściwości z powrotem na 0, np. xlSheetNormal przy użyciu hasła do VBProject.
Proszę postępować zgodnie z poniższym kodem!
Sub SubmittingDetail() Dim LastRow As Long 'Znajdowanie ostatniego wiersza w arkuszu "Data" 'gdzie należy wstawić dane LastRow = Sheets("Data").Range("A1").SpecialCells(xlLastCell).Row + 1 'Wstawianie danych w arkuszu "Data" With Sheets("Data") 'Przypisywanie numeru seryjnego .Range("A" & LastRow) = LastRow - 1 'Wstawianie danych w arkuszu "Data" z zakresu F15 do J15 .Range("B " & LastRow & ":F" & LastRow) = Range("F15:J15").Value End With 'Usuwanie zawartości komórki w zakresie Range("F15:J15").Wybierz Selection.ClearContents Range("F15" ).Select End Sub Sub ToggleHidingDataSheet() 'Sprawdzanie, czy arkusz jest aktualnie ukryty If Sheets("Data").Visible = xlVeryHidden Then 'Kod wyświetlania arkusza Sheets("Data").Visible = True Else 'Kod ukrywania arkusz Sheets("Data").Visible = xlVeryHidden End If End Sub
Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.
Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail