|
シートの保護の状態でオートフィルタだけを機能させたいという質問をさせていただき、皆様のご指導のもと、うまくできました。
ありがとうございました。
シートの保護の状態でオートフィルタだけを機能させるためのVBAは下記の通りです。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Cell").Reset
End Sub
Private Sub Workbook_Open()
With Application.CommandBars("Cell").Controls.Add( _
Type:=msoControlButton, Before:=1, Temporary:=True)
.Caption = "オートフィルタ"
.OnAction = "ThisWorkbook.filter"
End With
With Worksheets("チェックリスト")
.Unprotect
.EnableAutoFilter = True
.Protect UserInterfaceOnly:=True
End With
End Sub
Private Sub filter()
On Error Resume Next
With ActiveSheet
.EnableAutoFilter = True
.Protect UserInterfaceOnly:=True
.Range("A35:AD35").AutoFilter
End With
End Sub
同一ファイル上で、オートフィルタだけではなく、T36:IV500の範囲のセルだけにハイパーリンクの挿入、ハイパーリンクの編集、ハイパーリンク機能の削除等のハイパーリンク機能を使用できるようにしたいと思っています。何かよい手段はないでしょうか?
ちなみにシートに保護はかかっているのですが、T36:IV500の範囲のセルはセルの編集が可能なように「セルの書式設定」の「保護」でロックを解除してあります。
EXCELバージョンは2000です。
|
|