【ExcelVBA】Excelシートの保護・保護解除する方法(セルのロック制御する)

7月 15, 2022

ExcelVBAでExcelシートの保護・保護解除したい人向けに書いています。

本記事の内容

・ExcelVBAでシートの保護・保護解除する方法

ExcelVBA(マクロ)で自動的にシートの保護・保護解除したいと思っていませんか?
ExcelVBAによってシートの保護・保護解除する方法を紹介します。

 

シートの保護・保護解除する方法

以下がシートの保護・保護解除するプログラムです。

  1. '*****************************************
  2. '* セルのロック
  3. '*****************************************
  4. Sub SELL_LOCK()
  5.     
  6.     Dim objSh As Worksheet ' ワークシート(Work)
  7.     
  8.     With ThisWorkbook
  9.         
  10.         'ロックしないセル指定
  11.         .Sheets("Sheet2").Cells(1, 1).Locked = False
  12.         .Sheets("Sheet2").Range("2:1048576").Locked = False
  13.         
  14.         ' 各ワークシートを巡回
  15.         For Each objSh In .Worksheets
  16.         
  17.             With objSh
  18.                 
  19.                 ' グループ操作とオートフィルタ操作を可能としてシート保護
  20.                 .EnableOutlining = True
  21.                 .EnableAutoFilter = True
  22.                 .Protect Password:="pass", UserInterfaceOnly:=True, AllowSorting:=True, AllowInsertingRows:=True, AllowDeletingRows:=True
  23.                 
  24.             End With
  25.             
  26.         Next objSh
  27.                 
  28.     End With
  29.     
  30. End Sub
  31. '*****************************************
  32. '* セルのロック解除
  33. '*****************************************
  34. Sub SELL_UNLOCK()
  35.     
  36.     Dim objSh As Worksheet ' ワークシート(Work)
  37.     With ThisWorkbook
  38.                 
  39.         ' 各ワークシートを巡回
  40.         For Each objSh In .Worksheets
  41.             With objSh
  42.                 .Unprotect Password:="pass"
  43.             End With
  44.         Next objSh
  45.                 
  46.     End With
  47.     
  48. End Sub

 

まとめ

ExcelVBAによってシートの保護・保護解除する方法を紹介しました。
最後までご覧いただき、ありがとうございました。

 

【ExcelVBA】HTTP/HTTPS通信によるWebページ情報取得の方法」も紹介していますので、もしよろしければこちらも御覧ください。

 

 

スポンサーリンク