0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VBA によるExccelシートの一括保護と解除(クソ記事

Last updated at Posted at 2019-10-02

🔐全シート一括保護##

Private Sub 全シート一括保護()
    Dim s As Worksheet
    For Each s In ActiveWorkbook.Sheets
        s.Protect DrawingObjects:=False
    Next s
End Sub

DrawingObjects:=False はオブジェクト(画像)は編集できる、みたいな。

🔓全シート一括解除##

Private Sub 全シート一括保護解除()
    Dim s As Worksheet
    For Each s In ActiveWorkbook.Sheets
        s.UnProtect
    Next s
End Sub

🔐選択されたシートの保護を一括保護##

Sub 選択されたシートの保護を一括解除する()
 Dim cnt As Long ' 選択されているシートの数
 Dim sh_name() As String ' 選択されているシートのName
 Dim sh As Object ' WorksheetまたはChart
 Dim i As Long

 cnt = ActiveWindow.SelectedSheets.Count
 ReDim sh_name(1 To cnt)

' 選択されているシートのNameを配列に格納
 i = 1
 For Each sh In ActiveWindow.SelectedSheets
  sh_name(i) = sh.Name
  i = i + 1
 Next

' 選択されているシートの保護を順番に解除
 For i = 1 To cnt
  With Sheets(sh_name(i))
   .Select
   .Protect DrawingObjects:=False
  End With
 Next i

' 元々選択されていたシートを選択し直す
 For i = 1 To cnt
  Sheets(sh_name(i)).Select Replace:=False
 Next i

End Sub

🔓選択されたシートの保護を一括解除##

Sub 選択されたシートの保護を一括解除する()
 Dim cnt As Long ' 選択されているシートの数
 Dim sh_name() As String ' 選択されているシートのName
 Dim sh As Object ' WorksheetまたはChart
 Dim i As Long

 cnt = ActiveWindow.SelectedSheets.Count
 ReDim sh_name(1 To cnt)

' 選択されているシートのNameを配列に格納
 i = 1
 For Each sh In ActiveWindow.SelectedSheets
  sh_name(i) = sh.Name
  i = i + 1
 Next

' 選択されているシートの保護を順番に解除
 For i = 1 To cnt
  With Sheets(sh_name(i))
   .Select
   .Unprotect
  End With
 Next i

' 元々選択されていたシートを選択し直す
 For i = 1 To cnt
  Sheets(sh_name(i)).Select Replace:=False
 Next i

End Sub

Thanks##

選択されているシートの保護を一括解除するExcelマクロ
すべてのシートを一括で保護(ロック)する方法

ちっ####

アンチマイクロソフトの私が再びVB使うとは思いもしなかった
使うほどにSpreadsheetもGASもいいと思う。
しかし、どでかいデータとか非力のマシンではGoogleはありえないかなぁ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?