Sub wypiszArkusze()
Dim arkusz()
Dim widoczny()
ile = ActiveWorkbook.Sheets.Count
ReDim arkusz(1 To ile)
ReDim widoczny(1 To ile)
For i = 1 To ile
arkusz(i) = ActiveWorkbook.Sheets(i).Name
widoczny(i) = ActiveWorkbook.Sheets(i).Visible
Range("B1").Offset(i, 0).Value = arkusz(i)
Range("B1").Offset(i, 1).Value = widoczny(i)
If False = widoczny(i) Then
ActiveWorkbook.Sheets(i).Visible = True
End If
Next i
End Sub
W ten sposób otrzymamy kompletną listę zakładek i przy okazji wszystkie uaktywnimy. słowa kluczowe: arkusz, ukrywanie arkusza arkuszy, ukryta zakładka w Excel,
Co do zabezpieczeń arkusza można w VBA użyć:
ActiveWorkbook.ProtectionStructure = True ' lub ActiveWorkbook.ProtectionStructure = Falsesłowa kluczowe: zabezpieczenie arkusza arkuszy blokada Blokada kombinacji klawiszy CTRL + BREAK
Application.EnableCancelKey = xlDisabled ' nie zapomnijmy potem: Application.EnableCancelKey = xlEnabled
Temat ten rozwiną się praktycznie w poście >>
Bardzo ładne. Przepraszam za głupie pytanie, ale nie znam VBA.. Jest jakaś metoda żeby wydrukować nazwy wszystkich arkuszy do pliku albo do określonego arkusza?
OdpowiedzUsuńPozdrawiam - marcin
Nic prostrzego.
OdpowiedzUsuńMożna przerobić skrypt, który wpisałem wyżej.
W efekcie wykonanie czegoś takiego da Ci nazwy wszystkich arkuszy bieżącego skoroszytu
Sub namesOfAllExcelSheets()
For i = 1 To ActiveWorkbook.Sheets.Count
Range("A1").Offset(i - 1, 0).Value = ActiveWorkbook.Sheets(i).Name
Next i
End Sub